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

时间:2016-06-07 13:10:43

标签: rabbitmq rabbitmqctl

我正在尝试使用两个Rhel实例进行群集。我能够互相ping,即使我正在尝试使用命令empd -names,我也可以在4369上运行它。当我使用命令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'与兔子@ 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 hash: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 status

    {listeners,[{clustering,25672,"::"},{amqp,5672,"::"}]},
    
  8. * IP-Adresses是样本地址。

4 个答案:

答案 0 :(得分:15)

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

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

答案 1 :(得分:1)

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

所以,首先,你应该检查它在/ 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并重新启动服务,它就像一个魅力

答案 2 :(得分:0)

以下命令解决了该问题:

 navigator.languages  //["en-US", "zh-CN", "ja-JP"]

原因:

  • 在同一台计算机上的Windows及其Linux子系统(从Microsoft Store下载的Ubututu 18)上都具有Rabbitmq。
  • 在Windows操作系统上卸载Rabbitmq
  • 运行上述命令

希望能帮助某人。

答案 3 :(得分:0)

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