当执行一个大任务后,导致mysql启动不了。
在使用Storm UI查看日志处理情况的时候,发现storm集群中一台从机挂了,于是我登陆了部署那台从机的linux查看,运行jps -m 查看进程运行情况,发现报了一个warning:
Java HotSpot(TM) 64-Bit Server VM warning: Insufficient space for shared memory file:
/tmp/hsperfdata_work/10700
Try using the -Djava.io.tmpdir= option to select an alternate temp location.
看这个大概的意思是共享内存文件空间不足,于是df查看了使用情况:
Filesystem 1K-blocks Used Available Use% Mounted on
/dev/mapper/VolGroup01-LogVol00 49384248 49384248 0 100% /
发现这个目录使用率100%,但是这个只是逻辑卷,具体是由于/tmp目录下,日志文件太多,导致空间被占满了。
然后用
find / -size +100M -exec ls -lh {} \;
查看大小超过100M的文件,发现在zookeeper/中有许多大于100M的日志文件,然后进入该目录,删除一些日志文件,然后重启zookeeper,重启storm,一切恢复正常。
有时候在centos上查看java进程时,会遇到process information unavailable 的情况,如下图:
不同账号之间kill进程时,可能会造成这种现象(比如:deploy用户启动了一个java进程,但是用root用户去kill,虽然杀掉了,但是查看进程时偶尔就会出现)
解决办法:
cd /tmp 进到该目录,然后ls查看下,通常会遇到很多hsperfdata_开头的目录,进入可疑的目录看看,比如
然后把11786这个给 rm -rf 11786
干掉,然后再看进程就消失了