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>86400</value>
</property>
yarn.log-aggregation-enable:是否启用日志聚集功能。
yarn.log-aggregation.retain-seconds: 设置日志保留时间, 单位是秒。本人多次试验,没有这个参数,日志收集之后很快不见了。
(2) 将配置文件分发到其他slave节点的相应目录
[root@master hadoop]# scp yarn-site.xml root@slave1:/opt/software/hadoop-2.7.0/etc/hadoop/
[root@master hadoop]# scp yarn-site.xml root@slave2:/opt/software/hadoop-2.7.0/etc/hadoop/
(3) 重启 Yarn 进程
[root@master hadoop]# stop-yarn.sh
[root@master hadoop]# start-yarn.sh
(4) 重启 HistoryServer 进程
[root@master hadoop]# mr-jobhistory-daemon.sh stop historyserver
[root@master hadoop]# mr-jobhistory-daemon.sh start historyserver
6、 测试日志聚集
(1) 运行一个 demo MapReduce, 使之产生日志
yarn jar /opt/software/hadoop-2.7.0/share/hadoop/mapreduce/hadoop-mapreduce-examples-2.7.0.jar wordcount /usr/input/data/wc /usr/output/data/wc
(2) 查看日志
运行 Job 后, 就可以在历史服务器 Web 页面查看各个 Map 和 Reduce 的日志了。