如何列出活动的distcp作业?我正在两个集群之间运行distcp作业。 hadoop distcp hdfs://x/y /x/y 我想继续运行,但需要确保现有的 distcp 任务已完成。我在源集群和目标集群上都尝试了以下操作,但看不到复制操作。 mapred job -list all
hadoop distcp hdfs://x/y /x/y
distcp
mapred job -list all
fkaflof61#
这基本上是一个由elapsedtime获得应用程序的变化。在您的情况下,您可以使用rm cluster applications api来获取所有应用程序(不幸的是,它没有进行过滤) name ),然后筛选name等于的应用程序 distcp . 下面显示如何使用jq进行过滤:
name
$ curl 'RMURL/ws/v1/cluster/apps' | jq '.apps.app[] | select (.name == "distcp")'
就你的情况而言,如果你只对活跃的工作感兴趣,你会添加 states 筛选到api调用。
states
$ 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
1条答案
按热度按时间fkaflof61#
这基本上是一个由elapsedtime获得应用程序的变化。在您的情况下,您可以使用rm cluster applications api来获取所有应用程序(不幸的是,它没有进行过滤)
name
),然后筛选name等于的应用程序distcp
. 下面显示如何使用jq进行过滤:就你的情况而言,如果你只对活跃的工作感兴趣,你会添加
states
筛选到api调用。http://hadoop.apache.org/docs/stable/hadoop-yarn/hadoop-yarn-site/resourcemanagerrest.html#cluster_applications_api