8

在 Jobtracker Web UI 中,我看到了这个名为“Failed/Killed Task Attempts”的专栏。

我想知道它们之间的区别。我猜“失败的”是指在重试后最终确实失败的任务(所以根本没有完成恢复?)而“被杀死的”是指被杀死的任务(由于超时等)但它们可能会被重试?

4

5 回答 5

11

Hadoop 可以自行决定终止任务的原因有几个:
a) 任务在超时期间不报告进度(默认为 10 分钟)
b) FairScheduler 或 CapacityScheduler 需要其他池 (FairScheduler) 或队列 (CapacityScheduler) 的插槽。
c) 推测执行导致不需要任务的结果,因为它已经在其他地方完成。

于 2012-06-23T05:40:39.077 回答
8

Hadoop 使用“推测执行”。可以在多个盒子上启动相同的任务。第一个完成的人获胜,其他副本被杀死。

失败的任务是出错的任务。

于 2012-06-23T00:03:33.547 回答
1

我有点不同意大卫,因为超时任务没有被标记为已终止,而是被标记为失败。

在我的理解中,以下是失败任务与终止任务的定义

任务可能因为以下原因而失败

  1. 任务抛出运行时异常
  2. 子JVM突然退出
  3. 超时超过 mapred.task.timeout

任务可以被杀死,因为

  1. FairScheduler 或CapacityScheduler 需要某个其他池(FairScheduler)或队列(CapacityScheduler)的槽。
  2. 推测执行导致不需要任务的结果,因为它已经在其他地方完成。
  3. 用户还可以使用 Web UI 或命令行终止或失败任务尝试
于 2015-03-16T06:57:53.817 回答
0

失败的任务是在运行期间抛出异常的尝试,被杀死的任务是在推测执行过程中被杀死的重复任务。

于 2013-09-28T05:49:12.733 回答
0

失败的任务 1. 有 bug 的 map 或 reduce 代码(运行时异常错误) 2. jvm 突然退出 3. 挂起的任务(如果启用它可能会触发推测执行)

终止任务 1. 推测性执行终止长时间运行的作业。2. 如果用户自己杀死了一个工作。3. 任务跟踪器故障

于 2014-12-09T21:31:59.640 回答