RabbitMQ Error: unable to connect to nodes : nodedown

RabbitMQ Error: unable to connect to nodes : nodedown

我正在尝试使用两个 Rhel 实例进行集群。我可以互相 ping 通,甚至当我尝试使用命令 empd -names 时,我知道它已经启动并且 运行 on 4369.When 我使用命令作为 sudo rabbitmqctl join_cluster rabbit@ip-10-23-20-36我收到以下错误,确保我首先 stop_app..

sudo rabbitmqctl join_cluster rabbit@ip-10-23-20-36

集群节点 'rabbit@ip-10-23-20-36' 与 'rabbit@ip-10-23-209-142' ... 错误:无法连接到节点 ['rabbit@ip-10-23-209-142']:nodedown

诊断

试图联系:['rabbit@ip-10-23-209-142']

rabbit@ip-10-23-209-142: * 无法连接到 ip-10-23-209-142 上的 epmd(端口 4369):nxdomain(不存在的域)

当前节点详情: - 节点名称:'rabbitmq-cli-80@ip-10-23-20-36' - 主目录:/var/lib/rabbitmq - cookie 哈希:u7nRIpJ40Fd356iLbkDO6Q==

我已经尝试过的事情:

  1. 使用
    检查了两个实例中相同的 cookie 名称 sudo cat /var/lib/rabbitmq/.erlang.cookie
  2. 也更改了 epmd 端口 export ERL_EMPD_PORT=4370
  3. netstat -an |grep 4369 | grep -i listen
  4. 也在插件管理的 GUI 中更改主机名。
  5. 更改所有者和权限也使用

    sudo chown rabbitmq:rabbitmq /var/lib/rabbitmq/.erlang.cookie
    sudo chmod 400 /var/lib/rabbitmq/.erlang.cookie
    
  6. 添加端口

    sudo iptables -I INPUT -p tcp --dport 4369 --syn -j ACCEPT
    
  7. sudo rabbitmqctl 状态

    {listeners,[{clustering,25672,"::"},{amqp,5672,"::"}]},
    

*IP 地址是示例地址。

如错误消息所述,您的主机名无法解析:

rabbit@ip-10-23-209-142: * unable to connect to epmd (port 4369) on ip-10-23-209-142: nxdomain (non-existing domain)

您需要在您的 DNS 中或在两台主机的 /etc/hosts 中声明这些主机名。然后,您可以使用例如测试名称解析是否正常工作。平(1):

ping ip-10-23-209-142 # from ip-10-23-20-36

我今天遇到了同样的错误,这个建议毫无意义。

所以,首先,您应该在 /var/log/rabbitmq/rabbitmq@[您的主机名].log 查看它的日志,否则您会浪费时间。然后你就可以看到那里发生了什么。

就我而言,它在文件 /var/db/rabbitmq/mnesia/rabbit@www/cluster_nodes.config

中报告了一个错误
 Error description:


{error,{cannot_read_file,"/var/db/rabbitmq/mnesia/rabbit@www/cluster_nodes.config",
                        {1,erl_parse,["syntax error before: ","'@'"]}}}

所以,我只是删除了这个文件夹 /var/db/rabbitmq/mnesia/rabbit@www 并重新启动服务,它就像一个魅力

以下命令修复了问题:

sudo service rabbitmq-server start

原因:

  • 在同一台机器上的 Windows 及其 Linux 子系统(Ubututu 18,从 Microsoft Store 下载)上都安装了 rabbitmq。
  • 在 Windows OS
  • 上卸载 rabbitmq
  • 运行上面的命令

希望对某人有所帮助。

可能有点晚了,但它可以帮助一些人。 我有同样的错误,我在 /etc/hosts 文件中写了我的 ip 和自定义名称。 然后重新启动 rabbitmq 服务器,它对我有用。