Yarn有个日志聚集功能,它是在任务完成之后,自动将日志文件上传到文件系统(如HDFS文件系统),通过yarn-site.xml配置 文件开启该功能,默认情况下,该功能是关闭的。
所以在没有开启的情况下,通过任务执行历史web ui 查看会报提示信息 “Aggregation is not enabled. Try the nodemanager at namenode1:54951”,如下图
解决方案:
修改yarn-site.xml 配置文件,添加如下内容:
<property>
<name>yarn.log-aggregation-enable</name>
<value>true</value>
<description>
开启日志聚集功能,任务执行完之后,将日志文件自动上传到文件系统(如HDFS文件系统),
否则通过namenode1:8088页面查看日志文件的时候,会报错
"Aggregation is not enabled. Try the nodemanager at namenode1:54951"
</description>
</property>
<property>
<name>yarn.log-aggregation.retain-seconds</name>
<value>302400</value>
<description>
日志文件保存在文件系统(如HDFS文件系统)的最长时间,默认值是-1,即永久有效。
这里配置的值是:7天 = 3600 * 24 * 7 = 302400
</description>
</property>
接着,再重新启动resourcemanager、nodemanager 和 任务执行历史服务:
[yh.zeng@namenode1 hadoop]$ sbin/stop-yarn.sh
[yh.zeng@namenode1 hadoop]$ sbin/mr-jobhistory-daemon.sh stop historyserver
[yh.zeng@namenode1 hadoop]$ sbin/start-yarn.sh
[yh.zeng@namenode1 hadoop]$ sbin/mr-jobhistory-daemon.sh start historyserver