一、Jobhistory作用
-
用户可以在浏览器查询每个job运行完以后的历史日志信息,比如map个数、reduce个数等,jobhistory是作为一台单独的服务器运行的。可以在namenode或者datanode上的任意一台启动即可。
-
日志聚合功能:日志信息分散在各个nodemanager节点上,日志聚合将各个nodemanager节点上的日志信息聚合在一个节点上,并放在hdfs上,方便查看。
二、配置过程
- 需要配置两个文件
- mapred-site.xml文件增加如下内容,本文将历史服务器配置在slave1上。
<!-- 设置jobhistoryserver 服务器地址及对应端口 -->
<property>
<name>mapreduce.jobhistory.address</name>
<value>slave1:10020</value>
</property>
<!-- 配置web端口 -->
<property>
<name>mapreduce.jobhistory.webapp.address</name>
<value>localhost:19888</value>
</property>
<!-- 正在运行中的日志在hdfs上的存放路径 -->
<property>
<name>mapreduce.jobhistory.intermediate-done-dir</name>
<value>/history/done_intermediate</value>
</property>
<!-- 运行过的日志存放在hdfs上的存放路径 -->
<property>
<name>mapreduce.jobhistory.done-dir</name>
<value>/history/done</value>
</property>
- yarn-site.xml文件增加如下内容
<!-- 开启日志聚合 -->
<property>
<name>yarn.log-aggregation-enable</name>
<value>true</value>
</property>
- 在启动jobhistory之前需要注意重启yarn
- 在jobhistory配置节点上启动历史服务器(本文将其配置在slave1上)。
在slave1节点hadoop_home/sbin目录下
./mr-jobhistory-daemon.sh start historyserver
- jps
- 浏览器查看