[关闭]
@duguyiren3476 2015-02-11T02:31:31.000000Z 字数 1956 阅读 382

hadoop2.x jobhistoryserver 配置

hadoop

hadoop1.x之前的版本中可以开启50030端口,查看历史作业的运行日志,包括mr日志和自定义日志,但是hadoop2.x 是用MRv2(yarn)作为作业运行服务,代替50030端口的是一个jobhistory服务.jobhistory记录下已运行完的MapReduce作业信息并存放在指定的HDFS目录下,默认情况下是没有启动的,需要配置完后手工启动服务。

编辑mapred-site.xml文件:

  1. <property>
  2. <name>mapreduce.jobhistory.address</name>
  3. <value>master:10020</value>
  4. <description>MapReduce JobHistory Server IPC host:port</description>
  5. </property>
  6. <property>
  7. <name>mapreduce.jobhistory.webapp.address</name>
  8. <value>master:19888</value>
  9. <description>MapReduce JobHistory Server Web UI host:port</description>
  10. </property>

启动history-server:

  1. $HADOOP_HOME/sbin/mr-jobhistory-daemon.sh start historyserver

停止history-server:

  1. $HADOOP_HOME/sbin/mr-jobhistory-daemon.sh stop historyserver

服务启动之后,可以通过浏览器访问WEBUI: master:19888,会在hdfs上会生成两个目录:

  1. [user@nn ~]$ hadoop fs -ls /tmp/hadoop-yarn/staging/history
  2. 15/02/11 09:56:03 WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicable
  3. Found 2 items
  4. drwxrwx--- - hadoop supergroup 0 2015-02-10 15:44 /tmp/hadoop-yarn/staging/history/done
  5. drwxrwxrwt - hadoop supergroup 0 2015-02-04 16:04 /tmp/hadoop-yarn/staging/history/done_intermediate

默认省略jobhistory存放目录实在hdfs上的:/tmp/hadoop-yarn/staging/history 路径下生成两个目录done(已经完成的作业的历史信息目录)和done_intermediate(正在运行的作业的信息目录)两个目录

可以在mapred-site.xml文件中继续添加属性:

  1. <property>
  2. <name>mapreduce.jobhistory.done-dir</name>
  3. <value>/job/history/done</value>
  4. </property>
  5. <property>
  6. <name>mapreduce.jobhistory.intermediate-done-dir</name>
  7. <value>/job/history/done_intermediate</value>
  8. </property>

修改后重启jobhistory服务即可生效,此时如果之前已经运行过job任务,则可以在19888端口下可以看到历史的job列表.但是点击一个具体任务时,本人测试看不到以往运行job的详细日志信息,需要重新开启一个测试任务:例如运行一个workcount任务,之后可以在19888端口看到wordcount的job条目,点击workcount进入二级页面

如果出现弹出页面显示类似信息:Aggregation is not enabled. Try the nodemanager at ......
则配置yarn-site.xml

  1. <property>
  2. <name>yarn.log-aggregation-enable</name>
  3. <value>true</value>
  4. </property>

然后重启yarn服务:

  1. root@localhost:~# /usr/local/hadoop/sbin/stop-yarn.sh
  2. root@localhost:~# /usr/local/hadoop/sbin/start-yarn.sh

再重启jobhistory服务即可

添加新批注
在作者公开此批注前,只有你和作者可见。
回复批注