由于每家公司预算问题,经常会出现服务器磁盘空间不足问题导致大数据集群服务出现异常,下面介绍下解决方法。
一、问题现象
(1) 在项目接口端,提示接口调用超时异常
(2) 在移动机房环境查看CDH环境异常
(3) 重启CDH服务提示重启失败
项目接口调用失败
重启CDH报错
单独重启kudu报错
二、分析问题方法
1、查看日志
查看对应的日志文件:
例如kudu查看对应的日志文件,CDH页面有对应的日志地址为:/var/log/kudu-master.INFO
Tail -100f kudu-master.INFO
初步根据角色日志定位为space 不足导致,磁盘存储空间不足导致
三、问题处理解决方法
(一)清理并释放磁盘空间
针对异常节点服务进行排查,登录对应的异常的节点服务器:
此次出现异常的节点为主节点43
使用df -h查看磁盘使用情况,此时看到磁盘/根目录下一级使用率100%
此时需要查看根目录/下各个文件夹的使用情况
看看根目录下的各个文件所占存储大小。
并根据实际情况进行清理,
重点清理的目录为:
/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
清理存储完毕后再次检查磁盘使用情况
(二)重启相应的服务
1. CDH对应的元数据库重启MySQL
执行命令:
Service mysql status
Service mysql restart
Service mysql status
2. 重启CDH环境
登录移动机房CM管理平台,选择Cloudera Manager Service操作项进行重启
然后重启CDH集群
重启完成后即可
3. 然后检查对应的服务是否正常即可,至此问题解决。
(三)制定解决策略规避此类问题
1. 调整Service Monitor的java堆栈大小
2. 定时清理对应tmp目录下产生的hprof文件
重点清理的目录为:
/var/log下
/tmp
对应目录下的大文件及日志文件需要及时清理。
每日进行定时清理,并定时到EasyScheduler任务调度中。