问题: 由于问题无法复现,记录问题解决过程。
登录服务器执行脚本,发现提示磁盘空间满,指向的目录是/dev/mapper/centos-root。
这个其实是根目录(这里是恢复后的显示截图了,之前是100%)
排查发现在/home/hadoop/bigdata/hive/iotmp/下面存在大的临时文件,但是文件没几个,于是删除大文件。
然后继续检查 du -h --maxdeph=1 发现磁盘空间仍然是100%。
但是左右排查没发现其他大文件,于是百度搜磁盘空间是否显示不准确的问题,然后得到答案。
使用 lsof -n | grep deleted 命令查看还有哪些死进程未释放,结果发现大量以下hive的子进程,都是相同的进程号20058.
于是 kill 20058。
再次查询 lsof -n | grep deleted,发现没有上面那么多进程,还剩余几个进程。
这时候在查看磁盘空间,显示正常了。
--------------------------------------------------------------------
补充:
杀死上面的hive进程后,发现hive的连接服务也被杀死了,也就是hive在执行任务时产生了大量日志导致磁盘满的。
后面发现mysql在启动后也有这样的deleted进程,kill后,会将mysql的进程给杀死,所以一般没有故障不要轻易杀进程。