我正在尝试使用两个 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==
我已经尝试过的事情:
sudo cat /var/lib/rabbitmq/.erlang.cookie
。 export ERL_EMPD_PORT=4370
netstat -an |grep 4369 | grep -i listen
也使用
更改了所有者和权限sudo chown rabbitmq:rabbitmq /var/lib/rabbitmq/.erlang.cookie
sudo chmod 400 /var/lib/rabbitmq/.erlang.cookie
添加端口
sudo iptables -I INPUT -p tcp --dport 4369 --syn -j ACCEPT
sudorabbitmqctl 状态
{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@[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 并重新启动服务,它就像一个魅力
以下命令解决了问题:
sudo service rabbitmq-server start
原因:
希望对某人有帮助。
也许有点晚了,但它可以帮助一些人。 我遇到了同样的错误,我在 /etc/hosts 文件中写入了我的 ip 和自定义名称。 然后重新启动rabbitmq服务器,它对我有用了。
评论 #2 对我有用。谢谢!