聚合作用
- 日志聚合主要作用就是将Yarn任务运行日志从本地上传至HDFS上,保存时间更长,可以检索以前任务的日志,还可以进行选择性压缩
没有聚合
- 没有启用日志聚合的时候,container日志都是保存在如下配置的路径下,默认只保留三个小时

聚合配置
- CM -> Yarn Service -> 配置 -> 搜索Enable Log Aggregation 然后勾选点击保存即可
聚合参数
- 日志聚合常见参数如下 | 参数 | 默认值 | 作用 | | :—-: | :—-: | :—-: | | yarn.log-aggregation-enable | true | 开启日志聚合 | | yarn.log-aggregation.retain-seconds | 7 days | 聚合日志保留天数 | | yarn.log-aggregation-status.time-out.ms | 10 minutes | 聚合超时时间 | | yarn.log-aggregation.file-formats | IFile And TFile | 日志文件格式 | | yarn.nodemanager.log-aggregation.compression-type | none | 日志压缩格式,可以配置gz/lzo/none | | yarn.nodemanager.remote-app-log-dir | /tmp/logs | 日志聚合在HDFS的什么目录中 | | yarn.nodemanager.remote-app-log-dir-suffix | logs | 日志目录后缀,{yarn.nodemanager.remote-app-log-dir}/${user}/{thisParam} | | yarn.nodemanager.log-aggregation.policy.class | ALL | 需要聚合什么类型的日志 | | | | |
延迟删除
- 启动日志聚合后,任务运行完成会立马将任务相关的container上传至HDFS然后删除本地日志,如果想保留本地日志用于DEBUG一些问题,那么就需要配置yarn.nodemanager.delete.debug-delay-sec参数,指定保留时间
其他说明
- 日志聚合是每个用户都保留7天的日志
