问题16--RABBITMQ TOO MANY HEARTBEATS MISSED

本文介绍了解决RabbitMQ服务中出现“RABBITMQTOOMANYHEARTBEATSMISSED”错误的方法,通过调整socket和文件描述符限制来避免连接数耗尽导致的Consumer阻塞现象。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

问题:查看nova-compute日志中有“RABBITMQ TOO MANY HEARTBEATS MISSED

解:执行rabbitmqctl status | grep -A 4 file_descriptors   显示socket_used 达到 socket_limited 的值

增加socket_limited 的上限

1,如果rabbitqmq在系统服务里面

修改

 /etc/systemd/system/rabbitmq-server.service.d/limits.conf,

[Service]

LimitNOFILE=300000

2,如果不在系统服务

找到rabbitmq的设置环境变量的文件 rabbitmq-env.conf

ulimit -S -n 8192

#默认设置为4096

重启rabbitmq服务

 

可能rabbitmq集群的中的disc节点会受到影响,最好disc节点也重启rabbitmq服务

但是rabbitmq进程cpu使用率仍然很高,并没有从根本上解决问题

 

      当 RabbitMQ 的 sockets_used 达到 sockets_limits 时候(连接数耗尽时),最终即使是 Consumer 也会全部阻塞,只有在 sockets_used < sockets_limit 时(释放部分连接后),才会恢复

     5672的端口都是ESTABLISHED状态,服务器仅仅是阻塞了新连接,而不是拒绝新连接,如果是使用 HAProxy 等工具搭建的集群,由于服务器依然会接受新连接,因此 HAProxy 不会认为节点已Down,最终会导致整个集群卡住.

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值