运行时是否有任何方式来获取应用程序ID - 例如 - yarn
命令的wordcount示例?在运行MapReduce作业时获取应用程序ID
我希望通过yarn
命令从另一个进程启动作业,并通过YARN REST API监视作业的状态。
(使用Hadoop 2.4.0)
运行时是否有任何方式来获取应用程序ID - 例如 - yarn
命令的wordcount示例?在运行MapReduce作业时获取应用程序ID
我希望通过yarn
命令从另一个进程启动作业,并通过YARN REST API监视作业的状态。
(使用Hadoop 2.4.0)
结帐http://hadoop.apache.org/docs/r2.4.0/api/org/apache/hadoop/yarn/client/api/YarnClient.html。应该有一些东西来获得你需要的应用程序ID。
您可以使用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
。
我要求'yarn'命令。 – Dyin
误读了这个问题。仍试图准确理解你正在尝试做什么。但是,带有filter -appState的应用程序命令应该会为您提供您正在监控的应用程序。 http://hadoop.apache.org/docs/r2.4.0/hadoop-yarn/hadoop-yarn-site/YarnCommands.html#application –