HDFS日志文件过大导致OS盘空间不足
用户问题
OS盘/var/log分区空间不足。
问题现象
“/var/log/Bigdata/hdfs/*/hdfs-omm-*.out”日志文件过大,造成OS盘/var/log分区空间不足。
原因分析
在HDFS长时间运行场景下,操作系统会把JVM创建的“/tmp/.java_pid*”文件定期清理。因为HDFS的内存监控使用了JVM的jinfo命令,而jinfo依赖“/tmp/.java_pid*”文件,当该文件不存在时,jinfo会执行kill -3将jstack信息打印到.out日志文件里,从而导致.out日志文件过大。
处理步骤
在每个HDFS实例的节点上部署定期清理.out日志文件的定时任务。后台登录HDFS的实例节点,在crontab -e中添加每天0点清理.out日志的定时任务。
crontab -e
00 00 * * * for file in `ls /var/log/Bigdata/hdfs/*/hdfs-omm-*.out`; do echo "" > $file; done
如果.out大文件出现比较频繁,可以每天清理多次或者调整操作系统的自动清理策略。