故事背景:
hadoop任务分为map task和reduce task,当map task执行失败后会重试,超过重试次数(mapred.map.max.attempts指定,默认为4),整个job会失败,这是我们不想看到的。
解决办法:
hadoop提供配置参数“mapred.max.map.failures.percent”解决这个问题。如果一个Job有200个map task,该参数设置为5的话,则单个job最多允许10个map task(200 x 5% =10)失败,这是我想要的。
把下面配置放到mapred-site.xml文件中,重启jobtracker(hadoop-daemon.sh stop/start jobtracker ),这下大家满足了吧^_^
<property>
<name>mapred.max.map.failures.percent</name>
<value>5</value>
</property>
PS:reduce task有类似配置mapred.max.reduce.failures.percent
本文介绍Hadoop中如何通过配置参数mapred.max.map.failures.percent来控制maptask失败的最大比例,避免因多次失败导致整个job失败的问题。
770

被折叠的 条评论
为什么被折叠?



