RabbitMQ 错误:无法连接到节点:nodedown

问题描述 投票:0回答:5

我正在尝试使用两个 Rhel 实例进行集群。我能够互相 ping 通,甚至当我尝试使用命令

empd -names
时,我发现它已启动并在 4369 上运行。当我使用命令
sudo rabbitmqctl join_cluster rabbit@ip-10-23-20-36
时,我也收到以下错误,确保也能我先停止_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']

兔子@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. sudorabbitmqctl 状态

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

*IP 地址是示例地址。

rabbitmq rabbitmqctl
5个回答
18
投票

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

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

2
投票

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

因此,首先,您应该在 /var/log/rabbitmq/rabbitmq@[your hostname].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 并重新启动服务,它就像一个魅力


2
投票

以下命令解决了问题:

sudo service rabbitmq-server start

原因:

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

希望对某人有帮助。


0
投票

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


0
投票

评论 #2 对我有用。谢谢!

© www.soinside.com 2019 - 2024. All rights reserved.