Hadoop找到任务尝试的主机名

rgi*_*mmy 1 java hadoop mapreduce

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

jobClient.getMapTaskReports(jobID)

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

Tho*_*lut 5

JobClient给你一个所谓的NetworkedJob提交时.它有一个叫做的方法getTaskCompletionEvents.

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

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