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,最终会导致整个集群卡住.


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM