遇到问题---hadoop---reduce执行时又重新map

在处理2T Hive数据的动态分区时,发现MapReduce作业在Reduce阶段出现异常:任务在运行过程中由于推测执行或节点故障,重新启动了Map。问题可能源于异常报错导致的推测执行或内存、硬盘不足。解决方案包括排查并修复导致失败的原因,避免推测执行,以及确保集群健康,防止节点挂掉。理解Hadoop中的failed task、killed task和speculative task的性质对于优化任务执行至关重要。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

遇到的情况

我们在运行一个2T的hive数据进行动态分区,发现运行了很长时间的mapreduce在reduce运行过程中又重新启动了一次map。

如图

原因

分析到的原因可能有两个
一是有异常报错,reduce入库时一直失败,很多个fail或者kill,hadoop启用推测执行机制。hadoop针对慢或者老是失败的任务额外启动一个备份任务,一起处理同一份数据,哪个先执行完,则采用哪个的处理结果,同时将另外一个任务杀死。也就是说,推测执行是Hadoop对慢任务的一种优化机制(实际上就是“空间换时间”的经典优化思想),不属于容错调度范畴。可以通过参数调整禁止推测执行。

二是因为导致失败的原因未排除,重复执行任务,导致内存超出或者硬盘不足,节点挂掉。
我们看到图里就是250挂掉了,任务重新在217执行。所以很大原因是这个。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

阿泽财商会

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值