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

Rabbitmq: Unable to join_cluster from a node using FQDN to a node without FQDN

我有一个包含 2 个节点的集群,它们都没有使用 FQDN:rabbit@server1 和 rabbit@server2。现在我要添加第三个 rabbitmq 节点,它使用 FQDN: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==

我已经使用了所有的cookies,所有3台服务器都是一样的。还有什么问题?

Erlang 不支持您想执行的操作。

如果您至少使用一个 FQDN 名称,则它们都必须是 FQDN 名称,并且您必须将 "long names" 与 RabbitMQ 一起使用。

在所有 RabbitMQ 节点上创建包含此内容的 /etc/rabbitmq/rabbitmq-env.conf 文件:

USE_LONGNAME=true

创建文件后,确保每个节点名称的 FQDN 在 DNS 中解析。然后,重新启动所有 RabbitMQ 节点,您应该设置好了。

同样,您不能混合使用短名称和长名称 (FQDN)。如果您还有其他问题,请在邮件列表中询问。


注意: RabbitMQ 团队监控 rabbitmq-users mailing list 并且有时只在 Whosebug 上回答问题。

我希望您已经为您的实例检查了 master 的集群节点端口的可用性,这些节点端口必须添加到集群中。如果一切正常,尝试将 server1 主机名添加到 /etc/hosts.