事情经过:

早晨上班查看集群时发现集群HDFS和Yarn爆红,如下:

记一次CDH集群磁盘空间报警

点进去发现HDFS报错为xxx机器的/data空间少于%10,/data是我们集群的数据存储文件夹.Yarn的报错为xxx机器日志存储文件空间不足.该日志存储位置也是在/data下面的.

集群因很久没有做过扩容而且数据一直在增加,在跑大的MR任务的时候,因为MR会生成临时文件,时常因为临时文件多而发出空间不足的警告.但之前的警告都是黄色的,这次的比之前严重很多.可用空间从10%一直慢慢递减到5%,还在继续减少.

看到这个情况,吓坏了,赶紧删除无用数据.倒腾了几个小时发现删除数据的作用微乎其微,无用数据毕竟还是占很小的一部分.后来登录到报错的几台机器上,查看具体是哪个地方磁盘占用飙升.

cd /data

df -lh 该命令列出了当前磁盘占用情况.

du -h -d1 列出当前目录下每个文件占用多大.

发现运行du -h -d1后,/data/yarn下的占用比平时多很多,达到了300多G.继续往里追,最终确认为application_xxx_xxx的任务缓存了太多文件造成了.因为一个任务会分布式运行,分配到该任务的机器刚好都是运行了这个application.

解决办法:

后续的解决办法只要针对这个应用即可.从yarn的应用进程界面搜索这个application id来确定是哪个应用.

记一次CDH集群磁盘空间报警

我们的应用是一个yarn资源队列,通过重启该队列解决了catch文件过多的问题.应用重启后会自动清空缓存文件.

希望能帮到您.感谢.

相关文章:

  • 2021-04-20
  • 2021-11-10
  • 2021-10-02
  • 2021-10-04
  • 2022-12-23
  • 2021-11-16
  • 2021-06-10
猜你喜欢
  • 2021-05-31
  • 2021-07-20
  • 2018-05-22
  • 2021-10-21
  • 2021-12-25
  • 2021-07-26
  • 2021-05-16
相关资源
相似解决方案