文章目录
- Error Message - 报错信息
- Analysis Process - 分析思路
- Solution - 解决方案
Error Message - 报错信息
今天发现cdh集群的某一个节点任务爆红了,因为是测试的服务器,一般我都会尝试直接重启,但是该节点服务关闭后,竟然都无法重启了,cdh上的报错信息为:
No space left on device
意思是设备上没有空间剩余了。
Analysis Process - 分析思路
- 内存空间不足?
没有空间剩余,服务无法启动,我首先想到是机器的内存是被什么任务吃掉了么?
从 cdh 上查看,内存空间并没有被沾满:
进入服务器,运行命令,查看实际内存使用情况:
free -g
确实没有问题:
交换空间占用这么多倒是比较奇怪,一般情况下,物理内存没有用完是不可能会使用到交换空间,但这并不是本次报错的原因,内存空间是由很多空余的,不应该是内存导致的服务无法启动。
- 磁盘空间不足?
既然内存没有问题,那就是磁盘空间的问题,运行命令,查看磁盘空间使用情况:
df -lh
问题在这,cm_processes 这个磁盘的使用率已达 100%,看情况应该是 cdh 所在的磁盘,因为磁盘空间爆满了,所以倒是所有服务无法启动了。
Solution - 解决方案
首先进入挂载点,查看情况:
查看磁盘空间使用情况:
sudo du -sh *
看到这几个文件夹占用的空间很大,挑一个文件夹再进入查看情况:
最后找到一堆文件,打印文件内容,发现全是日志文件,并且这种日志信息并不重要,所以可以直接删除,把磁盘空间空余出来,就可以了:
因为我这是测试系统,我就直接删除了,你们生产环境一定要每个都查看一遍,并且向领导报备,以防误删重要文件导致系统崩溃。
删完这几个日志文件夹,磁盘空间瞬间干净了。
这只是暂时的解决方案,我们不可能时不时的就去节点上查看磁盘和内存的使用情况,所以找到 cdh 上相关的配置,并采取相应的措施,比如:日志可以设定有效时间,定时自动清理,或者不需要类似的日志存档。
很遗憾,我没能找到相对应的配置。
有没有大佬解决过类似的问题,或者知道如何调整这个问题的配置,希望可以留言告知一下,谢谢。
以上就是本次解决问题的思路,希望对你有帮助,感谢大家鉴赏,欢迎大家留言交流。