RabbitMQ无法连接群集中的节点
我有2个节点,我想把它做成集群。我已经安装了RabbitMq 现在,我正在第二个节点中停止rabbit应用程序,并尝试加入群集,如下命令所示: sudo rabbitmqctl加入集群rabbit@rabbit1 但这是错误的RabbitMQ无法连接群集中的节点,rabbitmq,Rabbitmq,我有2个节点,我想把它做成集群。我已经安装了RabbitMq 现在,我正在第二个节点中停止rabbit应用程序,并尝试加入群集,如下命令所示: sudo rabbitmqctl加入集群rabbit@rabbit1 但这是错误的 > DIAGNOSTICS > =========== > > attempted to contact: [rabbit@TELXRMQ01] > > rabbit@rabbit1: * unable to connect t
> DIAGNOSTICS
> ===========
>
> attempted to contact: [rabbit@TELXRMQ01]
>
> rabbit@rabbit1: * unable to connect to epmd (port 4369) on rabbit1:
> nxdomain (non-existing domain)
>
>
> current node details:
> - node name: 'rabbitmq-cli-34@rabbit2'
> - home dir: /var/lib/rabbitmq
> - cookie hash: A85MNn8I1UhtrGozi+m/2g==
我正在关注这个链接:
差事cookie在节点中都是相同的,并且4369端口在节点中都是打开的。我通过在/etc/hosts文件中添加主机解决了这个问题 我通过在/etc/hosts文件中添加主机解决了这个问题 它还取决于版本,因此您必须使用join_cluster或cluster它还取决于版本,因此您必须使用join_cluster或cluster解决此问题的方法很多 在RabbitMQ-3.6.9和Erlang v8.3.3下 对.erlang.cookie的文件进行更正并保持一致 正确的主机和主机名 主持人: 结果:
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
127.0.0.1 rabbitmq252
192.168.4.249 rabbitmq249
192.168.4.251 rabbitmq251
192.168.4.252 rabbitmq252
rabbitmq252
主机名:
cat /etc/hostname
结果:
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
127.0.0.1 rabbitmq252
192.168.4.249 rabbitmq249
192.168.4.251 rabbitmq251
192.168.4.252 rabbitmq252
rabbitmq252
删除群集节点
如果集群已经有了节点,或者状态已更改,或者某些节点甚至与另一个节点不一致。可以通过以下命令删除节点:
rabbitmqctl forget_cluster_node rabbit@rabbitmq252
清除Erlang Mnesia数据库
在/var/lib/rabbitmq/的文件路径下,有三个文件,如erl_crash.dump mnesia.erlang.cookie
杀死rabbitmq的进程
ps aux|grep rabbitmq
kill -9 remaining_process
重新安装RabbitMQ和Erlang
无论如何,如果您遇到问题,您应该:
读取服务状态
systemctl status rabbitmq-server.service -l
# or
service rabbitmq-server status
# or
journalctl -ex
阅读服务日志
您可以在服务状态下找到路径
cat /var/log/rabbitmq/rabbit@rabbitmq252.log
# or
cat /var/log/rabbitmq/rabbit@rabbitmq251-sasl.log
读取端口的状态
netstat -ntlp
有很多方法可以解决这个问题 在RabbitMQ-3.6.9和Erlang v8.3.3下 对.erlang.cookie的文件进行更正并保持一致 正确的主机和主机名 主持人: 结果:
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
127.0.0.1 rabbitmq252
192.168.4.249 rabbitmq249
192.168.4.251 rabbitmq251
192.168.4.252 rabbitmq252
rabbitmq252
主机名:
cat /etc/hostname
结果:
127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6
127.0.0.1 rabbitmq252
192.168.4.249 rabbitmq249
192.168.4.251 rabbitmq251
192.168.4.252 rabbitmq252
rabbitmq252
删除群集节点
如果集群已经有了节点,或者状态已更改,或者某些节点甚至与另一个节点不一致。可以通过以下命令删除节点:
rabbitmqctl forget_cluster_node rabbit@rabbitmq252
清除Erlang Mnesia数据库
在/var/lib/rabbitmq/的文件路径下,有三个文件,如erl_crash.dump mnesia.erlang.cookie
杀死rabbitmq的进程
ps aux|grep rabbitmq
kill -9 remaining_process
重新安装RabbitMQ和Erlang
无论如何,如果您遇到问题,您应该:
读取服务状态
systemctl status rabbitmq-server.service -l
# or
service rabbitmq-server status
# or
journalctl -ex
阅读服务日志
您可以在服务状态下找到路径
cat /var/log/rabbitmq/rabbit@rabbitmq252.log
# or
cat /var/log/rabbitmq/rabbit@rabbitmq251-sasl.log
读取端口的状态
netstat -ntlp
您应该将陈健的答案标记为正确答案,并附上您修改的/etc/hosts注释您应该将陈健的答案标记为正确答案,并附上您修改的/etc/hosts注释