1

在将 map reduce 作业提交到 hadoop 时,我试图以编程方式确定哪些任务尝试在集群中的哪个 tasktracker 上运行。我发现我可以像这样从 JobClient 获取大部分任务数据:

jobClient.getMapTaskReports(jobID)

但不是任务尝试成功的机器的主机名。有人知道如何从任务尝试 ID 中获取主机名吗?

4

1 回答 1

5

JobClient在提交时为您提供所谓的NetworkedJob 。它有一个名为getTaskCompletionEvents.

这将返回一个发生的数组TaskCompletionEvent,其中包含运行 task 的 tasktracker 的 HTTP 地址

从那时起,您可以从 URL 解析主机。

于 2013-02-05T18:59:18.780 回答