2017-08-02 83 views
0

如何列出活动的DISTCP作业?如何列出活动的DISTCP作业?

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

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

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

+0

您正在使用的纱或Hadoop的V1? – vgunnu

回答

0

这基本上是对Yarn api get applications by elapsedTime的变化。在你的情况下,你可以使用RM集群应用程序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

相关问题