Hadoop找到任务尝试的主机名

时间:2013-02-05 16:21:07

标签: java hadoop mapreduce

我正在尝试以编程方式确定在将地图缩减作业提交到hadoop时,哪些任务尝试在我的群集中的哪个任务跟踪器上运行。我发现我可以从JobClient获取大部分任务数据,如下所示:

jobClient.getMapTaskReports(jobID)

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

1 个答案:

答案 0 :(得分:5)

提交时,JobClient会为您提供所谓的NetworkedJob。它有一个名为getTaskCompletionEvents的方法。

这会返回一个TaskCompletionEvent发生的数组contain the HTTP address of the tasktracker that ran a task

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