如何阻止Hadoop2重试特定类异常的任务尝试

时间:2015-12-15 00:16:34

标签: java hadoop mapreduce yarn

如何阻止Hadoop2在某些故障下重试map / reduce任务。我们可以从中恢复一类故障,并且存在一类我们无法恢复的故障。为“可恢复”类失败重试任务是有意义的,而Hadoop2已经做到了。但是有一些类别的失败,重试没有意义。我们不应该花费任何CPU周期来重试这类故障。

从我所做的阅读中,看起来在下列情况下会重试任务:

  1. map或reduce任务中的用户代码会引发运行时异常。
  2. 如果流程进程以非零退出代码退出。
  3. 儿童JVM的突然退出
  4. Tasktracker注意到它暂时没有收到进度更新,并继续将任务标记为失败。
  5. 我读到第一个原因为“如果任务抛出从java RuntimeException类继承的任何Exception,那么任务将被重试”

    我的理解是否正确?我尝试抛出一个Error而不是RuntimeException,但是仍然重试了这些任务。

    我将通过一些hadoop源代码并添加我在这里找到的任何见解。 任何帮助都表示赞赏,这将节省我的大量时间。

0 个答案:

没有答案