opentsdb too many open files问题调研

表象:opentsdb实例进程存在,但已不能提供服务

错误:日志报too many files open,并且有大量tcp close_wait连接

opentsdb相关论坛:https://www.bountysource.com/issues/1754116-opentsdb-leaking-sockets 

排查命令:ll /proc/pid/fd | wc -l 可以看到该进程打开了多少文件句柄

    cat /proc/pid/limits 可以看到该进程允许的最大文件句柄数

          netstat -anp | fgrep 4244 |  awk '{print $6}' | sort | uniq -c  可以看到close_wait/establish等tcp连接状态数

  lsof -a -p pid

结论: tcp close_wait连接是由于opentsdb阻塞没有调用close() 方法产生的,具体原因需要查看opentsdb相关代码,据网上说,是因为hbase region server down或者有异常时,opentsdb获取不到数据一直被阻塞,并且没有相关timeout异常,但是task_queue还在一直接收agent发来的请求,一直在创建socket连接,以至于达到最大文件句柄数 程序报错

//需要参考tcp 三次握手 和 四次挥手

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 刚开始工作的朋友有没有这样的体会我擦 UI 给的图啥玩应这图给的 颜色 #fffff 什么鬼 (类似下面这种) 而...
    记住你姓李阅读 385评论 0 3
  • 第一 章 一切是那么突然,让他崩溃让他无以自拔。没有她他将控制不住自己,甚至死亡。 十年前,辰墨爱上了一个小巧可爱...
    轻妙阅读 134评论 1 0
  • 第一百四十天。 疯想熬夜不收拾,闹钟吵不醒一觉超过十二点,并没有复盘。
    何以醉阅读 96评论 0 0
  • 对于高中的同学来说,不得不说,光看书做作业完全是不够的,因为这种方法只能在小学初中玩玩对于高中的知识量,这...
    爱知识的阿彪阅读 330评论 0 2