tcp - Rabbitmq:节点关闭
问题描述
我在rabbitmq上遇到节点关闭错误,有时会发生这种情况。
执行时能够看到以下错误:sudo rabbitmqctl status
或sudo 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 执行脚本。
解决方案
看起来你的 rabbitmq 节点是……关闭了。rabbitmqctl
需要一个正在运行的节点来执行这些命令。
如果您使用的是 systemd,则可以检查服务状态:
service rabbitmq-server status
或者只是尝试重新启动节点:
rabbitmqctl start_app
端口 25672 上的 Telnet 告诉您 rabbitmqctl 正在运行,但 RabbitMQ 本身并未在该端口上运行(默认情况下,它正在侦听 5672)。