聚合作用

  1. 日志聚合主要作用就是将Yarn任务运行日志从本地上传至HDFS上,保存时间更长,可以检索以前任务的日志,还可以进行选择性压缩

没有聚合

  1. 没有启用日志聚合的时候,container日志都是保存在如下配置的路径下,默认只保留三个小时

image.png

聚合配置

  1. CM -> Yarn Service -> 配置 -> 搜索Enable Log Aggregation 然后勾选点击保存即可

image.png

聚合参数

  1. 日志聚合常见参数如下 | 参数 | 默认值 | 作用 | | :—-: | :—-: | :—-: | | 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 | 需要聚合什么类型的日志 | | | | |

延迟删除

  1. 启动日志聚合后,任务运行完成会立马将任务相关的container上传至HDFS然后删除本地日志,如果想保留本地日志用于DEBUG一些问题,那么就需要配置yarn.nodemanager.delete.debug-delay-sec参数,指定保留时间

image.png

其他说明

  1. 日志聚合是每个用户都保留7天的日志