zoukankan      html  css  js  c++  java
  • 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的进程给杀死,所以一般没有故障不要轻易杀进程。

    作者:尤灯塔
    本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利.
  • 相关阅读:
    图文讲解 sqlserver 2000 评测版 数据库过期 的解决方法
    SUSE shell环境语言设置
    Sleep Sort (休眠排序)
    骨干网…
    Linux下随机数
    爱吃苹果的与喜欢篮球的没必要非得达成一致~
    复杂的中国网络.....
    blog迁来迁去的......
    关于application/xwwwformurlencoded的说明
    The Art of Unix Programming
  • 原文地址:https://www.cnblogs.com/30go/p/15080099.html
Copyright © 2011-2022 走看看