2014-04-29 46 views
2

运行时是否有任何方式来获取应用程序ID - 例如 - yarn命令的wordcount示例?在运行MapReduce作业时获取应用程序ID

我希望通过yarn命令从另一个进程启动作业,并通过YARN REST API监视作业的状态。

(使用Hadoop 2.4.0)

回答

-3

结帐http://hadoop.apache.org/docs/r2.4.0/api/org/apache/hadoop/yarn/client/api/YarnClient.html。应该有一些东西来获得你需要的应用程序ID。

+0

我要求'yarn'命令。 – Dyin

+0

误读了这个问题。仍试图准确理解你正在尝试做什么。但是,带有filter -appState的应用程序命令应该会为您提供您正在监控的应用程序。 http://hadoop.apache.org/docs/r2.4.0/hadoop-yarn/hadoop-yarn-site/YarnCommands.html#application –

1

您可以使用yarn application -list命令获取所有应用程序的列表。

特别是如果你想获得的所有应用程序,这是目前在RUNNING状态列表中,您可以执行以下命令:如果您已经知道应用程序ID

yarn application -list -appStates RUNNING 

,那么你就可以查询应用程序的状态使用以下命令:

yarn application -status <application ID> 

对于例如

yarn application -status application_1448359154956_0001 

我获得以下申请报告(在这种情况下,应用程序是由KILLED用户):

Application Report : 
Application-Id : application_1448359154956_0001 
Application-Name : distcp 
Application-Type : MAPREDUCE 
User : mballur 
Queue : default 
Start-Time : 1448359237581 
Finish-Time : 1448359419592 
Progress : 100% 
State : KILLED 
Final-State : KILLED 
Tracking-URL : http://mballur.fareast.corp.microsoft.com:8088/cluster/ap 
p/application_1448359154956_0001 
RPC Port : -1 
AM Host : N/A 
Aggregate Resource Allocation : 1652876 MB-seconds, 1337 vcore-seconds 
Log Aggregation Status : NOT_START 
Diagnostics : Application killed by user. 

您可以分析这个输出得到State和应用Progress

相关问题