获取hadoop作业的主机

xmq68pz9  于 2021-06-03  发布在  Hadoop
关注(0)|答案(1)|浏览(332)

我需要得到运行hadoop作业的不同任务(Map器和缩减器)的主机(所以是实际的机器)。所以我得到了一个长时间运行的工作,我需要检索当前正在运行任务的主机。我需要这个信息在一个外部程序,所以不是在实际的工作。
我知道我可以用 hadoop job -list-attempt-ids job_201307251119_0004 map running 获取任务尝试,但这不会显示主机。
我也知道我可以用 JobClient 检索已完成任务的主机。但就我而言,任务仍在运行。
我想到的唯一解决方案是解析job tracker http接口html页面,该页面包含指向日志文件的url中的主机。但这似乎不是一条正确的道路,还有什么选择呢?

dvtswwa3

dvtswwa31#

由于您希望获取Map器/还原器当前运行的主机名,因此可以在Map器/还原器内部编写一些额外的java行来查找它。也许:

String hostname = java.net.InetAddress.getLocalHost().getHostName();

如果这正是你需要的。

相关问题