如何阻止hadoop2在某些失败情况下重试map/reduce任务。有一类故障我们可以从中恢复,也有一类故障我们无法从中恢复。为“可恢复”的失败类重试任务是有意义的,hadoop2已经做到了这一点。但是,对于某些类型的失败,重试是没有意义的。我们不应该花费任何cpu周期来重试这类失败。
从我所读到的内容来看,似乎在以下情况下会重试这些任务:
map或reduce任务中的用户代码引发运行时异常。
如果流处理以非零退出代码退出。
儿童猝死
tasktracker注意到它有一段时间没有收到进度更新,并继续将任务标记为失败。
我将第一个原因理解为“如果任务抛出从java runtimeexception类继承的任何异常,将重试该任务”
我的理解正确吗?我尝试抛出一个错误而不是runtimeexception,但是任务仍然被重试。
我将通过一些hadoop源代码,并添加我在这里找到的任何见解。任何帮助都是非常感谢的,这将节省我很多时间。
暂无答案!
目前还没有任何答案,快来回答吧!