记一次问题排除

项目间使用RabbitMQ进行消息的传递,RabbitMQ服务器搭建在linux服务器上。该服务器上同时安装了Mysql。
问题的起因是发现消息的消费者不再接收消息了,然后我就去登陆RabbitMQ的前端维护界面去查看,发现所有的Queue都处于blocking状态,被阻断了,消息自然就不发送了。
知道原因之后,我就去google为什么queue会被阻断,网上的说法是磁盘占用空间太大导致的。根据这个提示,我使用

df -h

命令查看了Linux 的磁盘空间,发现RabbitMQ所在的磁盘空间使用率99%,只剩余100多M的空间。RabbitMq为了保护进程,选择了阻断queue,使服务器不能再接发消息。

很自然的,我为了让服务能尽快跑起来,我将temp文件夹下将近700M的无用文件删除,RabbitMQ服务就正常使用了。

这种方式治标不治本,我重新浏览了一边RabbitMQ数据存放的磁盘,发现Mysql的数据也存放在该盘下,立马想到,如果以后数据持续增加,还会出现这个问题。考虑要将Mysql的数据存放文件更换位置。

最后完成Mysql的数据文件转移,释放了15G的空间。问题得到解决。

你可能感兴趣的:(记一次问题排除)