• hive大量死进程导致的磁盘空间满


    问题: 由于问题无法复现,记录问题解决过程。

    登录服务器执行脚本,发现提示磁盘空间满,指向的目录是/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的进程给杀死,所以一般没有故障不要轻易杀进程。

    作者:尤灯塔
    本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利.
  • 相关阅读:
    celery
    KeyError: 'pass_ticket'
    Go语言标准库之context
    Go语言标准库之log
    Go语言标准库之time
    Go语言基础之Cookie和Session
    #if...#endif的用法总结
    汇总#pragma用法
    Linux串口编程(转载)
    Linux系统调用(转载)
  • 原文地址:https://www.cnblogs.com/30go/p/15080099.html
Copyright © 2020-2023  润新知