Hadoop

Yarn聚合日志, 过期清除配置不生效

2022-04-02  本文已影响0人  清蒸三文鱼_

背景

在Yarn上开启了日志聚合, 并设置了过期清除的时间, 但是没有生效, 导致在HDFS上聚合后的日志数据过大(/tmp/logs/hdfs/logs), 造成磁盘空间不足

解决

前提: 配置了Jobhistory Server, 并处于启动中

方案1: 更改聚合日志的目录权限

Jobhistory Server使用的是mapred用户
hadoop fs chown -R mapred:supergroup /tmp/logs/hdfs

方案2: 更改角色操作的用户为hdfs

过程

配置不生效

原本怀疑是Flink的log4j的配置问题, 错误日志太多导致无法回滚(这个问题在低版本的logback有出现过), 事实验证并不是.

那么是否是Yarn运行中的application出现了异常, 而异常重启的次数配置的比较大, 导致不断启动新的container, 通过模拟的确会出现这个问题, 在Yarn NodeManager的/yarn/container-logs可看到, 但是该文件会在application停止之后进行清除, 所以也可以暂时忽略这个问题

不断重试
既然Yarn提供了这个清理的配置, 按理来说应该是支持的, 可能是使用的方式不对或者某个配置没开启, 探索一番一致, 清理日志的角色叫Jobhistory Server, 那么把添加角色后再启动应该就可以了
Jobhistory Server
启动了之后, 发现还是没有对HDFS上的/tmp/logs/hdfs/logs进行清理, 查看Jobhistory Server的日志, 发现了操作该目录和权限相关的报错, 给目录授权后清理操作正常
上一篇下一篇

猜你喜欢

热点阅读