由磁盘空间不足引起的大数据集群服务异常问题处理方法
由于每家公司预算问题,经常会出现服务器磁盘空间不足问题导致大数据集群服务出现异常,下面介绍下解决方法。
一、问题现象
(1) 在项目接口端,提示接口调用超时异常
(2) 在移动机房环境查看CDH环境异常
(3) 重启CDH服务提示重启失败
项目接口调用失败
![](https://img.haomeiwen.com/i8936494/705f215272326286.png)
重启CDH报错
![](https://img.haomeiwen.com/i8936494/86b280e75caae00c.png)
单独重启kudu报错
![](https://img.haomeiwen.com/i8936494/37eba02508a9e2f4.png)
二、分析问题方法
1、查看日志
![](https://img.haomeiwen.com/i8936494/e0a972b059c23ba9.png)
查看对应的日志文件:
例如kudu查看对应的日志文件,CDH页面有对应的日志地址为:/var/log/kudu-master.INFO
Tail -100f kudu-master.INFO
![](https://img.haomeiwen.com/i8936494/9fb609f757a791bc.png)
初步根据角色日志定位为space 不足导致,磁盘存储空间不足导致
三、问题处理解决方法
(一)清理并释放磁盘空间
针对异常节点服务进行排查,登录对应的异常的节点服务器:
此次出现异常的节点为主节点43
使用df -h查看磁盘使用情况,此时看到磁盘/根目录下一级使用率100%
![](https://img.haomeiwen.com/i8936494/021d5b96f98e36f0.png)
此时需要查看根目录/下各个文件夹的使用情况
![](https://img.haomeiwen.com/i8936494/dc53772386666f45.png)
看看根目录下的各个文件所占存储大小。
并根据实际情况进行清理,
重点清理的目录为:
/var/log下
/tmp
/home
/opt
对应目录下的大文件及日志文件需要及时清理。
此次主要内存占用较大的目录为/tmp
主要是由于Service Monitor的内存溢出后不停往/tmp写文件导致,产生5、6个
mgmt_mgmt-SERVICEMONITOR-fwdqdw12121c2579fb48f905dweb0dea_pid17082.hprof文件
mgmt_mgmt-SERVICEMONITOR-23213fdqwd232e1c2579fb48f903d1s1c_pid17231.hprof
mgmt_mgmt-SERVICEMONITOR-e088e1b54b389d2dsq323b48fcds34208dq_pid12182.hprof
清理存储完毕后再次检查磁盘使用情况
![](https://img.haomeiwen.com/i8936494/1c9604cd336484c2.png)
(二)重启相应的服务
1. CDH对应的元数据库重启MySQL
执行命令:
Service mysql status
Service mysql restart
Service mysql status
2. 重启CDH环境
登录移动机房CM管理平台,选择Cloudera Manager Service操作项进行重启
![](https://img.haomeiwen.com/i8936494/55ab0c3775a9c389.png)
然后重启CDH集群
![](https://img.haomeiwen.com/i8936494/138e5fae1c509c44.png)
重启完成后即可
![](https://img.haomeiwen.com/i8936494/818bdc39c2c7455d.png)
3. 然后检查对应的服务是否正常即可,至此问题解决。
(三)制定解决策略规避此类问题
1. 调整Service Monitor的java堆栈大小
![](https://img.haomeiwen.com/i8936494/2035451dcab9fc51.png)
2. 定时清理对应tmp目录下产生的hprof文件
重点清理的目录为:
/var/log下
/tmp
对应目录下的大文件及日志文件需要及时清理。
![](https://img.haomeiwen.com/i8936494/73e6295b1286bb68.png)
每日进行定时清理,并定时到EasyScheduler任务调度中。