我需要得到运行hadoop作业的不同任务(Map器和缩减器)的主机(所以是实际的机器)。所以我得到了一个长时间运行的工作,我需要检索当前正在运行任务的主机。我需要这个信息在一个外部程序,所以不是在实际的工作。
我知道我可以用 hadoop job -list-attempt-ids job_201307251119_0004 map running
获取任务尝试,但这不会显示主机。
我也知道我可以用 JobClient
检索已完成任务的主机。但就我而言,任务仍在运行。
我想到的唯一解决方案是解析job tracker http接口html页面,该页面包含指向日志文件的url中的主机。但这似乎不是一条正确的道路,还有什么选择呢?
1条答案
按热度按时间dvtswwa31#
由于您希望获取Map器/还原器当前运行的主机名,因此可以在Map器/还原器内部编写一些额外的java行来查找它。也许:
如果这正是你需要的。