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