【问题标题】:Get the application ID while running a MapReduce job在运行 MapReduce 作业时获取应用程序 ID
【发布时间】:2014-06-15 21:27:01
【问题描述】:

有什么方法可以在运行时获取应用程序 ID - 例如 - wordcount 示例使用 yarn 命令?

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

(使用 Hadoop 2.4.0)

【问题讨论】:

    标签: mapreduce hadoop-yarn hadoop2


    【解决方案1】:

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

    具体如果要获取当前处于RUNNING状态的所有应用程序的列表,可以执行以下命令:

    yarn application -list -appStates RUNNING
    

    如果您已经知道应用ID,那么您可以使用以下命令查询应用的状态:

    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.
    

    您可以解析此输出以获取应用程序的StateProgress

    【讨论】:

      【解决方案2】:

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

      【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2021-09-28
      • 1970-01-01
      • 2014-08-22
      • 1970-01-01
      • 2011-12-25
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多