rabbitmq TCP连接成功,Erlang分发失败

5ssjco0h  于 2022-11-23  发布在  RabbitMQ
关注(0)|答案(1)|浏览(222)

我们安装了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哈希:==""
ar5n3qh5

ar5n3qh51#

我有相同的错误描述,在我的例子中,集群节点之间的erlang cookie匹配,但我似乎面临着一些大小写敏感性与rabbitmqctl join_cluster-命令。
在主机2179NBXXXDP上使用提升权限的命令提示符时,此操作失败:rabbitmqctl join_cluster rabbit@2179ASXXX02,这是可行的:rabbitmqctl join_cluster rabbit@2179asxxx02(在我的例子中,后者的主机名实际上是小写的。)

相关问题