YARN MRv2 JobClient等价物

时间:2016-06-28 00:55:56

标签: hadoop mapreduce yarn hadoop2 mrv2

我无法找到MRv2的JobClient(Java,MRv1)等价物。我正在尝试读取MR工作状态,计数器等正在运行的工作。我必须从资源管理器那里得到信息我相信(因为历史服务器在作业结束之前不会有信息,我需要在作业仍在运行时读取计数器)。我缺少mapreduce api中的客户端吗?

1 个答案:

答案 0 :(得分:0)

如果您拥有提交给YARN的MR作业的应用程序ID,那么您可以使用:

  • YarnClientimport org.apache.hadoop.yarn.client.api.YarnClient)和
  • ApplicationReportimport org.apache.hadoop.yarn.api.records.ApplicationReport

获取与应用程序相关的统计信息。

例如示例代码如下:

// Initialize and start YARN client
YarnClient yarnClient = YarnClient.createYarnClient();
yarnClient.init(configuration);
yarnClient.start();

// Get application report
try {
    ApplicationReport applicationReport = yarnClient.getApplicationReport(ConverterUtils.toApplicationId(applicationID));
    // Get whatever you want here.
} catch (Exception e) {
    // Handle exception;
}

// Stop YARN client
yarnClient.stop();

您可以从ApplicationReport课程获得的一些信息是:

  1. 应用程序资源使用情况报告

  2. 应用程序dianostics

  3. 最终申请状态

  4. 开始和结束时间

  5. 申请类型

  6. 优先级

  7. 进展等。

  8. 您可以在此处查看YarnClientApplicationReport的API文档(这是Hadoop 2.7文档):