RabbitMQ无法启动,TCP连接成功但Erlang分发失败
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了RabbitMQ无法启动,TCP连接成功但Erlang分发失败相关的知识,希望对你有一定的参考价值。
我刚刚开始在Windows系统上学习和安装RabbitMQ。
我在自定义文件夹中安装Erlang VM和RabbitMQ,而不是默认文件夹(两者都有)。
然后我重新启动了我的电脑。
顺便说一下,我的电脑名称为“NULL”
我cd到RabbitMQ / sbin文件夹并使用命令:
rabbitmqctl status
但返回的信息是:
节点rabbit @ NULL的状态...
错误:无法对节点'rabbit @ NULL'执行操作。请参阅下面的诊断信息和建议。
最常见的原因是:
- 目标节点无法访问(例如,由于主机名解析,TCP连接或防火墙问题)
- CLI工具无法通过服务器进行身份验证(例如,由于CLI工具的Erlang cookie与服务器的不匹配)
- 目标节点未运行
除了下面的诊断信息:
- 请参阅http://rabbitmq.com/documentation.html上的CLI,群集和网络指南以了解更多信息
- 查询节点rabbit @ NULL上的服务器日志
诊断
试图联系:[rabbit @ NULL]
兔@ NULL:
- 在NULL上连接到epmd(端口4369)
- epmd报告节点'rabbit'使用端口25672进行节点间和CLI工具流量
- TCP连接成功但Erlang分发失败
- 身份验证失败(被远程节点拒绝),请检查Erlang cookie
当前节点详情:
- 节点名称:rabbitmqcli70 @ NULL
- 有效用户的主目录:C: Users Jerry Song
- Erlang cookie hash:51gvGHZpn0gIK86cfiS7vp ==
我尝试RESTART RabbitMQ,我得到的是:
错误:名称为“rabbit”的节点已在“NULL”上运行
顺便说一句,我的电脑名称是“NULL”我已启用防火墙中的所有端口。
如果您在Windows10(而不是Windows默认位置)中使用开发工具/软件的专用驱动器文件夹位置,则可以通过https://www.rabbitmq.com/cli.html描述的同步erlang cookie的一种方法是复制cookie,如下所述。
请注意,在我的情况下,HOMEDRIVE和HOMEPATH环境变量都没有设置。
将“C: Windows system32 config systemprofile .erlang.cookie”复制到“C: Users %USERNAME%。erlang.cookie”后,
错误“tcp连接成功但Erlang分发失败”已解决。
现在我可以成功使用“rabbitmqctl.bat status”命令。因此,没有必要安装在默认位置来解决此错误,因为同步cookie将解决该错误。
https://groups.google.com/forum/#!topic/rabbitmq-users/a6sqrAUX_Fg描述了在全新安装的Rabbit MQ上存在cookie不匹配的问题。 Windows上的简单解决方案是同步cookie
这里也有描述:http://www.rabbitmq.com/clustering.html#erlang-cookie
确保cookie在下面的1,2和3中同步
- 如果设置了HOMEDRIVE和HOMEPATH环境变量,则
%HOMEDRIVE%%HOMEPATH%.erlang.cookie
(对于用户%USERNAME%通常为C:Users\%USERNAME%.erlang.cookie
) %USERPROFILE%.erlang.cookie
(通常是C:Users\%USERNAME%.erlang.cookie
)如果HOMEDRIVE和HOMEPATH都没有设置- 对于RabbitMQ Windows服务 -
%USERPROFILE%.erlang.cookie
(通常是C:WINDOWSsystem32configsystemprofile
)
必须通过复制C:WINDOWSsystem32configsystemprofile
文件夹中的cookie文件来同步Windows服务帐户和运行CLI工具的用户使用的cookie文件。
我使用默认安装文件夹在我的电脑中重新安装了RabbitMQ
然后检查命令:
rabbitmqctl status
它现在工作,而不是Erlang VM的问题。(意味着Er可以安装在其他的foler)
如果我们不使用RabbitMQ默认设置需要foler(C: Program Files RabbitMQ Server),它会导致一些我现在无法找到的问题(比如这个)
如果有人发现它,我希望你能告诉我为什么以及如何解决。
在Centos。
- 将ip nodename对添加到每个节点上的/ etc / hosts。
- 在每个从节点上重启rabbitmq-server服务。
适合我。
以上是关于RabbitMQ无法启动,TCP连接成功但Erlang分发失败的主要内容,如果未能解决你的问题,请参考以下文章