2017-08-02 84 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

相關問題