我们安装了Erlang Vm(erlang-23.2.1-1.el7.x86_64.rpm)与Rabbitmq服务器之间得连接(rabbitmq-server-3.8.19-1.el7.noarch.rpm),并成功地在3台机器上启动了具有三个不同集群的RabbitMQ服务器,但当我们尝试对这些rabbitmq节点进行集群时,我们遇到了Erlang分发失败错误,我在谷歌上搜索了一下,发现这可能是由于Erlang cookie不匹配造成的。如果这是根本原因,有人能帮助我们解决这个不匹配问题吗
错误消息:
错误:无法在节点'rabbit@keng03-dev01-ins01-dmq67-app-1627533565 - 1'上执行操作。请参阅下面的诊断信息和建议。
最常见的原因是:
- 无法访问目标节点(例如,由于主机名解析、TCP连接或防火墙问题)
- CLI工具无法通过服务器验证(例如,由于CLI工具的Erlang cookie与服务器的Erlang cookie不匹配)
- 目标节点未运行
除以下诊断信息外:
- 有关详细信息,请参阅https://rabbitmq.com/documentation.html上的CLI、群集和网络指南
- 查看节点rabbit@keng03-dev01-ins01-dmq67-app-1627533565 - 1上的服务器日志
- 如果目标节点配置为使用长节点名称,请不要忘记将--longnames与CLI工具配合使用
诊断
尝试联系:['兔子@keng03-设备01-ins01-dmq67-应用程序-1627533565 -1']
兔子@keng03-设备01-ins01-dmq67-应用程序-1627533565 - 1:
- 已连接到keng03-dev01-ins01-dmq67-app-1627533565 - 1上的epmd(端口4369)
- epmd报告节点"rabbit"使用端口25672进行节点间通信和CLI工具通信
- TCP连接成功,但Erlang分发失败
- 建议:检查Erlang cookie是否对于所有服务器节点和CLI工具都相同
- 建议:检查所有服务器节点和CLI工具在相互寻址时是否使用一致的主机名
- 建议:检查是否可以将节点间连接配置为使用TLS。如果可以,则所有节点和CLI工具都必须执行此操作
- 建议:请参阅https://rabbitmq.com/documentation.html上的CLI、集群和网络指南以了解更多信息
当前节点详细信息:
- 节点名称:"兔子mqcli-616-兔子@keng03-设备01-ins01-dmq67-应用程序-1627533565 - 2"
- 有效用户的主目录:/var/lib/兔子mq
- Erlang Cookie哈希:==""
1条答案
按热度按时间ar5n3qh51#
我有相同的错误描述,在我的例子中,集群节点之间的erlang cookie匹配,但我似乎面临着一些大小写敏感性与
rabbitmqctl join_cluster
-命令。在主机2179NBXXXDP上使用提升权限的命令提示符时,此操作失败:
rabbitmqctl join_cluster rabbit@2179ASXXX02
,这是可行的:rabbitmqctl join_cluster rabbit@2179asxxx02
(在我的例子中,后者的主机名实际上是小写的。)