问题描述:如果在查看日志信息出现如下问题:即日志聚集是不可用的情况时,说明我们没有正确配置日志聚集服务。只需要参照下面的步骤配置启动日志聚集服务即可。
1、 日志聚集介绍
MapReduce 是在各个机器上运行的, 在运行过程中产生的日志存在于各个机器上,为了能够统一查看各个机器的运行日志,将日志集中存放在 HDFS 上, 这个过程就是日志聚集。
2、 开启日志聚集
可以关闭集群,也可以在线更改配置,只不过需要重启相应进程( Yarn和HistoryServer )
(1) 配置日志聚集功能。
Hadoop 默认是不启用日志聚集的。 在 yarn-site.xml 文件里配置启用日志聚集。
<property>
<name>yarn.log-aggregation-enable</name>
<value>true</value>
</property>
<property>
<name>yarn.log-aggregation.retain-seconds</name>
<value>106800</value>
</property>
yarn.log-aggregation-enable:是否启用日志聚集功能。
yarn.log-aggregation.retain-seconds: 设置日志保留时间, 单位是秒。
(2) 将配置文件分发到其他节点的相应目录
[hadoop@dajiangtai01 hadoop]$ scp /home/hadoop/app/modules/hadoop-2.6.0/etc/hadoop/yarn-site.xml hadoop@dajiangtai02:/ home/hadoop/app/modules/hadoop-2.6.0/etc/hadoop/
[hadoop@dajiangtai01 hadoop]$ scp /home/hadoop/app/modules/hadoop-2.6.0/etc/hadoop/yarn-site.xml hadoop@dajiangtai03:/ home/hadoop/app/modules/hadoop-2.6.0/etc/hadoop/
(3) 重启 Yarn 进程
[hadoop@dajiangtai hadoop-2.6.0]$ sbin/stop-yarn.sh
[hadoop@dajiangtai hadoop-2.6.0]$ sbin/start-yarn.sh
(4) 重启 HistoryServer 进程
[hadoop@dajiangtai hadoop-2.6.0]$ sbin/mr-jobhistory-daemon.sh stop historyserver
[hadoop@dajiangtai hadoop-2.6.0]$ sbin/mr-jobhistory-daemon.sh start historyserver
6、 测试日志聚集
(1) 运行一个 demo MapReduce, 使之产生日志
bin/yarn jar share/hadoop/mapreduce/hadoop-mapreduce-examples-2.6.0.jar wordcount /input /output1
(2) 查看日志
运行 Job 后, 就可以在历史服务器 Web 页面查看各个 Map 和 Reduce 的日志了。