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

问题描述 投票:0回答:2

我有一个包含 2 个节点的集群,它们都没有使用 FQDN:rabbit@server1 和rabbit@server2。现在我正在添加第三个rabbitmq节点,它使用FQDN:[电子邮件受保护]。当我跑步时

rabbitmqctl join_cluster rabbit@server1

Clustering node '[email protected]' 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: '[email protected]'
- home dir: /home/rabbitmq
- cookie hash: 6P4hzwN1u+rBCLZkYA2zUQ==

我已经使用了所有 cookie,所有 3 个服务器都是相同的。还有什么可能是错误的?

rabbitmq rabbitmqctl
2个回答
2
投票

Erlang 不支持你想做的事情。

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

在所有 RabbitMQ 节点上创建包含以下内容的

/etc/rabbitmq/rabbitmq-env.conf
文件:

USE_LONGNAME=true

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

再次强调,您不能混合使用短名称和长名称 (FQDN)。


0
投票

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

© www.soinside.com 2019 - 2024. All rights reserved.