如何使用CDH4和Yarn查看我的Hadoop作业历史记录和日志?

时间:2012-12-01 03:43:31

标签: configuration hadoop cloudera yarn

我使用Yarn下载了Hadoop的CDH4 tar,并且作业运行良好,但我无法确定从我的工作中查看日志的位置。在MRv1中,我只是去了JobTracker网络应用程序,它有工作历史。单个作业的日志也可以从这里访问,或者转到logs / userlogs目录。

在我的新纱线设置中(仅在单台计算机上运行),我有日志目录,但没有logs / userlogs文件夹。

当我转到ResourceManager网页localhost:8088时,有一个“所有应用程序”部分,但此处没有显示任何条目。当我进入JobHistory网页localhost:19888时,没有列出任何作业。

我想知道是否存在配置问题。这是我的yarn-site.xml条目:

<property>
  <name>yarn.nodemanager.local-dirs</name> 
  <value>/Users/dolan/cdh4/_hadoop_data/yarn/local</value>
</property> 
<property> 
  <name>yarn.nodemanager.log-dirs</name>
  <value>/Users/dolan/cdh4/_hadoop_data/yarn/logs</value> 
</property>
<property> 
  <name>mapreduce.jobhistory.address</name>
  <value>localhost:10020</value> 
</property>
<property> 
  <name>mapreduce.jobhistory.webapp.address</name>
  <value>localhost:19888</value> 
</property>
<property>
  <name>yarn.app.mapreduce.am.staging-dir</name>
  <value>/user</value>
</property>

非常感谢有关调试内容的任何提示。

更新:我已经检查了nodemanager日志目录,它是空的。此外,jobhistory目录为空。有一件奇怪的事情是Hadoop告诉我INFO mapreduce.Job: The url to track the job: http://localhost:8080/,但是当我从浏览器尝试时,该地址不可用。

更新#2:我注意到我运行的每个作业都有相同的作业ID(“job_local_0001”)。这似乎是一个配置问题。

2 个答案:

答案 0 :(得分:7)

听起来这里的工作是在本地运行,而不是在YARN上运行。要在YARN上运行作业,请确保在mapred-site.xml中有这个:

<property>
  <name> mapreduce.framework.name</name>
  <value>yarn</value>
</property>

一般情况下,您可能会通过电子邮件发送cdh-user邮件列表来更快地回复此类问题。

答案 1 :(得分:2)

将以下配置添加到mapred-site.xml文件

<property>
  <name> mapreduce.framework.name</name>
  <value>yarn</value>
</property>
<property> 
  <name>mapreduce.jobhistory.address</name>
  <value>localhost:10020</value> 
</property>
<property> 
  <name>mapreduce.jobhistory.webapp.address</name>
  <value>localhost:19888</value> 
</property>

并删除在yarn-site.xml中的jobhistory特定配置,例如。来自yarn-site.xml的最后两个配置