【问题标题】:How can I list active DISTCP jobs?如何列出活动的 DISTCP 作业?
【发布时间】:2017-08-02 10:54:21
【问题描述】:

如何列出活动的 DISTCP 作业?

我正在两个集群之间运行 distcp 作业。 hadoop distcp hdfs://x/y /x/y

我想持续运行它,但需要确保现有的 distcp 任务完成。

我在源集群和目标集群上都尝试了以下操作,但我看不到复制操作。 mapred job -list all

【问题讨论】:

  • 您使用的是 Yarn 还是 Hadoop V1?

标签: hadoop jobs distcp


【解决方案1】:

这基本上是Yarn api get applications by elapsedTime 的变体。在您的情况下,您可以使用 RM Cluster Applications API 来获取所有应用程序(不幸的是,它没有过滤 name),然后过滤名称等于 distcp 的应用程序。下面展示了如何使用jq进行过滤:

$ curl 'RMURL/ws/v1/cluster/apps' | jq '.apps.app[] | select (.name == "distcp")'

对于您的情况,如果您只对活动作业感兴趣,您可以将 states 过滤器添加到 API 调用中。

$ curl 'RMURL/ws/v1/cluster/apps?states=NEW,NEW_SAVING,SUBMITTED,ACCEPTED,RUNNING' |\
    jq '.apps.app[] | select (.name == "distcp")'

http://hadoop.apache.org/docs/stable/hadoop-yarn/hadoop-yarn-site/ResourceManagerRest.html#Cluster_Applications_API

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-10-01
    • 2016-05-03
    • 2015-01-17
    • 1970-01-01
    • 2015-10-04
    • 1970-01-01
    • 1970-01-01
    • 2016-11-29
    相关资源
    最近更新 更多