【问题标题】:Mapreduce Job Configuration File LocationMapreduce 作业配置文件位置
【发布时间】:2015-12-28 06:25:05
【问题描述】:

我在哪里可以找到已经运行的 java mapreduce 作业的作业配置文件,例如覆盖的默认设置和其他作业特定设置。我正在使用 hadoop 2.6.0。我假设每个使用其用户设置运行的作业都有一个作业配置文件。抱歉,如果重复此问题无法找到确切答案。在我的 yarn-site.xml 或 mapred-site.xml 中没有与此相关的内容。

【问题讨论】:

  • 是否有任何 Web 服务或 REST API 可以让我们看到这些指标,或者它是否存储在所有作业的特定位置?

标签: java hadoop mapreduce configuration-files hadoop-yarn


【解决方案1】:

在你的mapred-site.xml中,有配置参数:yarn.app.mapreduce.am.staging-dir

这个参数的说明是:

提交作业时使用的暂存目录。

默认设置为:

/tmp/hadoop-yarn/staging    

这条路径被翻译成:

{Value of config parameter `yarn.app.mapreduce.am.staging-dir`} + Path.SEPARATOR + user + Path.SEPARATOR + STAGING_CONSTANT

例如在我的 mapred-site.xml 中,此值设置为:

<property>
    <name>yarn.app.mapreduce.am.staging-dir</name>
    <value>/user</value>
 </property>

所以这条路径被转换成:

/user/{user}/{STAGING_CONSTANT}

这是:

/user/mballur/.staging/ => Where user -> mballur and STAGING_CONSTANT -> .staging

在此文件夹中,您将看到与作业相关的设置,当您的作业正在运行时

例如如果我的应用程序 ID 是:application_1450100618247_0018,那么暂存文件夹将为:

/user/mballur/.staging/job_1450100618247_0018/

在此文件夹中,您可以看到以下文件:

job.jar
job.split
job.xml
job_1450100618247_0018_1.jhist
job_1450100618247_0018_1_conf.xml

这里的 job.xml 包含有关您的作业的配置信息。 但是,当作业完成(成功或失败)时,作业的暂存目录会被删除。

Job History Rest API

如果您启用了历史服务器,那么您可以查看到目前为止执行的所有作业的历史记录。例如在此处查看链接:https://hadoop.apache.org/docs/r2.4.1/hadoop-yarn/hadoop-yarn-site/HistoryServerRest.html#Job_Conf_API

使用以下 REST 查询,您可以获得作业的配置:

GET http://<history server http address:port>/ws/v1/history/mapreduce/jobs/{job_id}/conf

【讨论】:

  • 感谢您的回复。我想查看已经运行的作业的配置,而不是正在运行的作业。历史 API 也没有提供有关作业配置的任何信息。它只是提供工作计数器(和其他一些)。假设如果我覆盖一个作业的内存设置并运行它,我能否在作业完成后看到它们。
  • 我没有在我的设置中启用作业历史服务器。但是,我敢肯定,根据我发布的链接,可以查询所有已执行作业的历史记录。我将启用历史服务器,然后使用更多详细信息更新答案。
  • 很抱歉得到了我需要的东西。非常感谢:)
猜你喜欢
  • 1970-01-01
  • 2021-07-20
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-03-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多