我有一个包含2个节点的集群,它们都不使用FQDN:rabbit @ server1和rabbit @ server2。现在,我要添加一个使用FQDN的第三个Rabbitmq节点:rabbit@server3.mycompany.com。当我运行rabbitmqctl join_cluster rabbit@server1
Clustering node 'rabbit@server3.mycompany.com' with rabbit@server1 ...
Error: unable to connect to nodes [rabbit@server1]: nodedown
DIAGNOSTICS
===========
attempted to contact: [rabbit@server1]
rabbit@server1:
* connected to epmd (port 4369) on server1
* epmd reports node 'rabbit' running on port 25672
* TCP connection succeeded but Erlang distribution failed
* suggestion: hostname mismatch?
* suggestion: is the cookie set correctly?
* suggestion: is the Erlang distribution using TLS?
current node details:
- node name: 'rabbitmq-cli-65@server3.mycompany.com'
- home dir: /home/rabbitmq
- cookie hash: 6P4hzwN1u+rBCLZkYA2zUQ==
我已经使用了所有cookie,所有3台服务器都是相同的。还有什么可能是错的?
答案 0 :(得分:1)
Erlang不支持您想要做的事情。
如果您至少使用一个FQDN名称,则它们都必须都是FQDN名称,并且您必须对RabbitMQ使用"long names"。
在所有RabbitMQ节点上使用以下内容创建/etc/rabbitmq/rabbitmq-env.conf
文件:
USE_LONGNAME=true
创建文件后,确保每个节点名称的FQDN在DNS中解析。然后,重新启动所有RabbitMQ节点,您应该已设置。
同样,您不能混合使用短名称和长名称(FQDN)。如果您还有其他问题,请在邮件列表中询问。
注意: RabbitMQ团队监视rabbitmq-users
mailing list,并且有时仅在StackOverflow上回答问题。
答案 1 :(得分:0)
我希望您已经检查了实例的主群集节点端口的可用性,这些端口必须添加到群集中。如果一切正常,请尝试将server1主机名添加到/ etc / hosts中。