如何列出活动的DISTCP作业?
我在两个集群之间运行一个distcp作业。hadoop distcp hdfs://x/y /x/y
我想要不断地运行它,但是需要确保现有的distcp任务已经完成。
我在源集群和目标集群中都尝试了以下操作,但是我看不到复制操作。mapred job -list all
发布于 2017-08-03 20:40:20
这基本上是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")'API
https://stackoverflow.com/questions/45458869
复制相似问题