0

在我的应用程序中,我有一系列 5 个 Hadoop 作业,它们使用顺序链接在一起

Job.waitForCompletion(false)

现在,Hadoop 文档明确指出

...确保工作完成的责任
(成功/失败)完全取决于客户

现在,如果我的作业客户端程序崩溃,我如何确保作业客户端程序在重新启动时可以在崩溃点恢复?有什么方法可以查询 JobTracker 并获取特定作业的句柄,然后检查其作业状态?

4

1 回答 1

0

当客户端本身崩溃时,可以尝试以下方法:

Hadoop 提供了 JobClient,可用于跟踪集群中当前正在运行的作业。因此,当客户端重新启动时,可以使用以下 JobClient 方法:

  • jobsToComplete() - 获取未完成且未失败的作业
  • jobsToComplete() - 获取未完成且未失败的作业
  • getAllJobs()- 获取提交的作业。
  • getClusterStatus() - 获取有关 Map-Reduce 集群的状态信息。
  • submitJob(JobConf job)- 提交作业到 MR 系统,如果它失败了。
于 2012-05-30T08:00:21.323 回答