RabbitMQ无法连接群集中的节点

RabbitMQ无法连接群集中的节点,rabbitmq,Rabbitmq,我有2个节点,我想把它做成集群。我已经安装了RabbitMq 现在,我正在第二个节点中停止rabbit应用程序,并尝试加入群集,如下命令所示: sudo rabbitmqctl加入集群rabbit@rabbit1 但这是错误的 > DIAGNOSTICS > =========== > > attempted to contact: [rabbit@TELXRMQ01] > > rabbit@rabbit1: * unable to connect t

我有2个节点,我想把它做成集群。我已经安装了RabbitMq

现在,我正在第二个节点中停止rabbit应用程序,并尝试加入群集,如下命令所示: sudo rabbitmqctl加入集群rabbit@rabbit1

但这是错误的

> 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注释