集群神奇挂掉的问题

最近一个集群出现了不稳定的问题。重启之后也很快挂掉,问题是在某个时间点之前工作一直很稳定。。

首先检查了各个配置和日志都没发现什么问题。

后来跑了一下如下命令,才发现某个out文件居然有几百G的容量:

find ./ -name "*.out" | xargs ls -alh

问题就出来这里,程序启动用了nohup强制进入后台运行,往out文件不停写日志,在out文件还小的情况下没啥问题,一旦这个文件大到一定程度,那就导致写入日志会非常卡,最后导致整个集群挂掉。不知道当年哪位大哥埋的坑。。

在不停止程序清空out文件的方法有两种:

cp /dev/null nohup.out
cat /dev/null > nohup.out

但是对于一些很重要的debug信息,这样搞又会简单粗暴了点。所以可以限制只向out输出错误日志:

nohup ./program >/dev/null 2>log &

附注:

- 0:表示标准输入
- 1:标准输出,在一般使用时,默认的是标准输出
- 2:标准错误信息输出

如果还是想要保存所有的日志,那就只能请出老牌的工具logrotate了。这个有点复杂,而且网上有很多资料了,跳过。我其实也很好奇,搭集群的大哥为了偷懒,没有配置这个。

最后对于这样的进入后台运行的程序,还有个办法,就是用superviosr管理起来。supervisor可以配置保留日志的分数
和每个日志的大小,虽然无法按日期分日志,但是也能满足需求。

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

推荐阅读更多精彩内容

  • 你应该是来过了吧。 到今天我也累了,我拼命指责你,声讨你,只是想可以在你那留下点什么,想让你能想着我,别忘了我。 ...
    抱抱胖胖阅读 1,885评论 2 0
  • 这首曲子毫无疑问是写给型月的,很多人说这是深泽秀行集大成之作。出自《魔法使之夜》ost,没看过不予置评。 之前选了...
    曦光如画阅读 7,620评论 0 0
  • 我是一个反应慢,很笨的一个人。但我又是一个执着、做事情喜欢善始善终的一个人。从不敢幻想未来,因为有太多未知的因素。...
    枫红云天阅读 4,026评论 0 2
  • 慢慢明白了人心,也懂得了那么一点点工作中的事情,每天干着吃力不讨好的事,本想着凭借自己的勤奋与努力可以换...
    百合花m阅读 1,202评论 0 0