【背景】
新搭建的Hadoop环境没怎么用,就一个环境天天空跑,结果今天运维告诉我说有一台服务器磁盘超过80%了,真是太奇怪了,平台上就跑了几个spark测试程序,哪来的数据呢?
【问题调查】
既然是磁盘写满了,那首先就要找到具体是什么数据写满的磁盘。
用df查看,是根目录,还不是数据盘;
df -h
于是用du命令再挨个检查目录,看看具体是什么文件这么大
du -h --maxx-depth=1 .
终于发现在Hadoop的日志目录下,有一堆hdfs-audit.log日志,并且每个都有好几百M,删除之后,跟目录瞬间从81%减低到了42%;
问题是暂时解决了,可这样不是长久之计,审计日志还在写,过几天还得来删除。
【解决办法】
从Ambari页面上查看hdfs的配置,搜索关键字“audit”
接着往下拉,发现审计日志配置的是INFO级别:
于是改为WARN级别,保存后重启hdfs相关组件。
过了几天后,再检查服务器,发现磁盘根目录使用率没有明显增大,问题完美解决了~