我有2个节点,我想从中创建群集。我已经安装了RabbitMq。
现在我停止第二个节点中的兔子应用程序并尝试加入群集,如下面的命令: sudo rabbitmqctl join_cluster 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==
我关注此链接:https://www.rabbitmq.com/clustering.html 两个节点中的errang cookie相同,并且两个节点都打开了4369端口。
答案 0 :(得分:1)
有很多方法可以解决这个问题。
在RabbitMQ-3.6.9和Erlang v8.3.3下
正确且与.erlang.cookie
chgrp rabbitmq /var/lib/rabbitmq/.erlang.cookie
chown rabbitmq /var/lib/rabbitmq/.erlang.cookie
chmod 400 /var/lib/rabbitmq/.erlang.cookie
更正主机和主机名
主机:
cat /etc/hosts
结果:
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
主机名:
cat /etc/hostname
结果:
rabbitmq252
删除群集节点
如果群集已经有节点或状态已更改,或者某个节点disagree
已经有另一个节点。您可以通过以下命令删除节点:
rabbitmqctl forget_cluster_node rabbit@rabbitmq252
清除Erlang Mnesia数据库
在/var/lib/rabbitmq/
的文件路径下,有三个文件,例如erl_crash.dump mnesia .erlang.cookie
。
rm -rf /var/lib/rabbitmq/*
杀死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
答案 1 :(得分:0)
它还取决于版本,因此您必须使用join_cluster
或cluster
答案 2 :(得分:-1)
我通过在/ etc / hosts文件中添加主机来解决这个问题。