如何判断有多少Map器和还原器正在运行?

9njqaruj  于 2021-05-30  发布在  Hadoop
关注(0)|答案(2)|浏览(263)

我有一个任务,旨在运行几十个map/reduce作业。其中一些是io密集型的,一些是mapper密集型的,一些是reducer密集型的。我希望能够监控当前使用的Map器和还原器的数量,以便在释放一组Map器时,可以将另一个Map器密集型作业推送到集群。我不想把它们堆积在队列中,因为它们可能会阻塞Map程序,而不让那些Map程序运行。
是否有一个命令行接口,我可以调用它从(例如)python脚本获取这些信息?

iaqfqrcu

iaqfqrcu1#

我发现了

mapred job -list

将列出当前正在运行的所有作业,以及

mapred job -status <job_id>

将为每项工作提供Map器和还原器的数量。

rdlzhqv9

rdlzhqv92#

hadoop作业状态可以通过以下方式访问。
hadoop作业可以通过hadoopwebui进行管理。
jobracker显示作业详细信息,默认端口为50030(localhost:50030 in 伪模式
tasktrackers显示单个map/reduce任务,它在默认端口50060上可用。
hadoop提供了一个restapi来访问集群、节点、应用程序和应用程序历史信息。
也可以从python脚本调用restapi来获取应用程序状态。http://hadoop.apache.org/docs/r2.4.1/hadoop-yarn/hadoop-yarn-site/webservicesintro.html

相关问题