首页 > 解决方案 > Rabbitmq:节点关闭

问题描述

我在rabbitmq上遇到节点关闭错误,有时会发生这种情况。

执行时能够看到以下错误:sudo rabbitmqctl statussudo rabbitmqctl list_queues

Error: unable to connect to node : nodedown
connected to epmd (port 4369) on host-name
epmd reports node 'rabbit' running on port 25672
can't establish TCP connection, reason: timeout 
suggestion: blocked by firewall?

版本:{兔子,"RabbitMQ","3.6.9"}

操作系统:Ubuntu 16.04

我检查了主机名,这对我来说没问题,自安装以来没有更改

也可以远程登录 localhost 25672

此错误背后的原因和可能的解决方案可能是什么?

还有一个问题,我正在使用以下 API 检查节点状态

curl -s GET http://edx:edx@127.0.0.1:15672/api/healthchecks/node/

上面的 API 是否可以检查节点的健康状态?请建议是否还有其他内容。我已经设置了一个调用这个 API 的 shell 脚本,如果状态不正常,它会重新启动 rabbitmq-server 服务。每分钟从 cron 执行脚本。

标签: tcprabbitmqubuntu-16.04firewallrabbitmqctl

解决方案


看起来你的 rabbitmq 节点是……关闭了。rabbitmqctl需要一个正在运行的节点来执行这些命令。

如果您使用的是 systemd,则可以检查服务状态:

service rabbitmq-server status

或者只是尝试重新启动节点:

rabbitmqctl start_app

端口 25672 上的 Telnet 告诉您 rabbitmqctl 正在运行,但 RabbitMQ 本身并未在该端口上运行(默认情况下,它正在侦听 5672)。


推荐阅读