Rabbitmq:无法从使用FQDN的节点加入到没有FQDN的节点的join_cluster

时间:2019-05-02 15:16:43

标签: rabbitmq rabbitmqctl

我有一个包含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台服务器都是相同的。还有什么可能是错的?

2 个答案:

答案 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中。