如何知道有多少映射器和化简器正在运行



我有一个任务,旨在运行数十个map/reduce作业。其中一些是IO密集型的,一些是映射器密集型的,有些是减速器密集型的。我希望能够监视当前正在使用的映射器和化简器的数量,以便在释放一组映射器时,我可以将另一个映射器密集型作业推送到集群。我不想只是将它们堆叠在队列中,因为它们可能会阻塞映射器,而不会让化简器密集型映射器运行。

是否有我可以调用的命令行界面来从(例如)Python 脚本中获取此信息?

Hadoop 作业状态可以通过以下方式访问。

  • Hadoop作业可以通过Hadoop网页UI进行管理。

    Jobracker 显示作业详细信息,默认端口为 50030(伪模式下本地主机:50030)

    任务

    跟踪器显示单个映射/减少任务,它在默认端口 50060 上可用。

  • Hadoop 提供了一个 REST API 来访问集群、节点、应用程序和应用程序历史信息。

    也可以从 Python 脚本调用此 REST API 以获取应用程序状态。http://hadoop.apache.org/docs/r2.4.1/hadoop-yarn/hadoop-yarn-site/WebServicesIntro.html

我发现

mapred job -list

将列出当前正在运行的所有作业,并且

mapred job -status <job_id>

将为每个作业提供映射器和化简器的数量。

相关内容

  • 没有找到相关文章

最新更新