默认情况下,如果mapper / reducer失败,hadoop会尝试运行它的其他实例,如果失败4次(默认值)hadoop标记完成MR作业失败。
我正在处理一些原始数据,如果MR作业无法处理30%的数据,我很好。是否有任何配置我可以设置,如果30%的映射器失败不会杀死作业并输出剩余的70%的数据。我可以在我的代码中处理异常并在计数器中维护失败和成功记录,但我想知道hadoop中是否有任何这样的配置
答案 0 :(得分:4)
谢谢!我从确定的指南中得到了答案。
对于某些应用程序,如果少数应用程序中止该作业是不可取的 任务失败,因为可以使用作业的结果 尽管有些失败。在这种情况下,任务的最大百分比 可以设置允许在不触发作业失败的情况下失败 工作。映射任务和减少任务是独立控制的, 使用mapreduce.map.failures.maxpercent和 mapreduce.max.reduce.failures.percent properties。