一、yarn聚合日志简介
日志聚集是YARN提供的日志中央化管理功能,它能将运行完成的Container/任务日志上传到HDFS上,从而减轻NodeManager负载,且提供一个中央化存储和分析机制。默认情况下,每块盘上都会创建相同的applicationid,而且applicationid中都会创建相同的containerid,但是并不是每个container中都会存在日志,这块由container自己的机制选择往哪个container目录中写入日志,其他的container目录则为空。这在一定程度上导致了想查看任务的运行日志比较困难。日志的聚合功能可以解决这个问题。
二、配置文件
2.1 yarn-site.xml
<property>
<name>yarn.log-aggregation-enable</name>
<value>true</value>
</property>
<property>
<name>yarn.log-aggregation.retain-seconds</name>
<value>2592000</value>
</property>
2.2 Ambari 配置
Ambari中yarn 组件,advance配置部分
2.3日志相关参数
(1) yarn.log-aggregation-enable
是否开启日志聚合功能
(2) yarn.log-aggregation.retain-seconds
hdfs上的日志保留多久。当前配置路径为:/var/hadoop/yarn/${user}/logs
(3)yarn.log-aggregation.retain-check-interval-seconds
多长时间检查一次日志,并将满足条件的删除,如果是0或者负数,则为上一个值的1/10,已经配置为:1296000(15天)
(4)yarn.nodemanager.remote-app-log-dir
前缀目录:/var/hadoop/yarn5) yarn.nodemanager.remote-app-log-dir-suffix
后缀目录:logs6) yarn.nodemanager.log-aggregation.roll-monitoring-interval-seconds
每隔一段时间进行日志的聚合,当前配置为:3600。如果配置为-1,则会等待任务执行完还会聚合。日志到达保留的天数,HDFS上的日志会自动清理,namenode日志可以看到。
在执行聚合日志删除的时候,RPC次数
通过grafana可以看到,hdfs执行list, delete,totalCount 的大小