我想找出当前 map reduce 作业正在运行或即将为给定作业运行的从节点的 IP。有什么方法可以做到这一点吗?
提前致谢。
对于任何作业,您都可以通过 Job Scheduler Web UI 查看正在运行的任务列表 - 这将详细说明正在运行任务的节点。
至于任务将在哪里运行 - 这不一定要提前决定。当节点上的插槽可用时,作业调度程序(根据您的需要有一些行为不同的数字)识别将在该节点上运行的作业任务(基于许多标准,希望尽可能尊重数据局部性)并指示该节点上的任务跟踪器运行特定任务。
以编程方式,查看 JobClient 类的 javadocs,它应该能够获取有关正在运行的任务及其节点名称的信息(您可能需要进行 DNS 查找以获取我想象的实际 IP)
Hadoop 附带了几个 Web 界面,默认情况下(请参阅 conf/hadoop-default.xml)在这些位置可用
http://localhost:50030/ – web UI for MapReduce job tracker(s
:)
http://localhost:50060/ – web UI for task tracker(s)
http://localhost:50070/ – web UI for HDFS name node(s)
感谢@Chris .. 以编程方式查看 JobClient 类的 javadocs,它应该能够获取有关正在运行的任务及其节点名称的信息。