RabbitMQ问题解决:TCP connection succeeded but Erlang distribution failed
说明
本来是要先把Hystrix 仪表盘更完的,但是出现了Turbine、Dashboard、RabbitMQ整合实现监控。
所以先在学RabbitMq的基本操作,在安装过程中出现了
E:\RabbitMQ Server\rabbitmq_server-3.6.5\sbin>rabbitmqctl status Status of node 'rabbit@DESKTOP-T5RBR6M' ... Error: unable to connect to node 'rabbit@DESKTOP-T5RBR6M': nodedown DIAGNOSTICS =========== attempted to contact: ['rabbit@DESKTOP-T5RBR6M'] rabbit@DESKTOP-T5RBR6M: * connected to epmd (port 4369) on DESKTOP-T5RBR6M * 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-27@DESKTOP-T5RBR6M' - home dir: C:\Users\Administrator - cookie hash: +Xg8GwzCRQiqRrJZqqF30A==
重点在TCP connection succeeded but Erlang distribution failed
、suggestion: is the cookie set correctly?
这两行,在网上看了两个小时了,发现很多都是不明所以弄成了就随便捊一下就写。。
有一些现在没有suggestion的输出,这不是很重要,这里我先恢复事故现场,大家一起踩坑
WorkArounds
问题复现
分别安装 Erlang (otp_win64_20.3.exe) 、RabbitMQ Server(rabbitmq-server-3.7.5.exe)
这里为了能看清晰问题是出在安装目录上还是其它,都装到D盘,其他不变
安装完成在菜单栏中会有这个显示,这里用win10演示(公司电脑)
查看服务,服务已经正常启动
cmd命令cd到D:\RabbitMQ Server\rabbitmq_server-3.7.5\sbin (你实际的安装位置)
小提示:如果是默认的安装位置,用
可以直接定位到sbin下
输入rabbitmqctl status
D:\RabbitMQ Server\rabbitmq_server-3.7.5\sbin>rabbitmqctl status Status of node rabbit@DESKTOP-T5RBR6M ... Error: unable to perform an operation on node 'rabbit@DESKTOP-T5RBR6M'. Please see diagnostics information and suggestions below. Most common reasons for this are: * Target node is unreachable (e.g. due to hostname resolution, TCP connection or firewall issues) * CLI tool fails to authenticate with the server (e.g. due to CLI tool's Erlang cookie not matching that of the server) * Target node is not running In addition to the diagnostics info below: * See the CLI, clustering and networking guides on http://rabbitmq.com/documentation.html to learn more * Consult server logs on node rabbit@DESKTOP-T5RBR6M DIAGNOSTICS =========== attempted to contact: ['rabbit@DESKTOP-T5RBR6M'] rabbit@DESKTOP-T5RBR6M: * connected to epmd (port 4369) on DESKTOP-T5RBR6M * epmd reports node 'rabbit' uses port 25672 for inter-node and CLI tool traffic * TCP connection succeeded but Erlang distribution failed * Authentication failed (rejected by the remote node), please check the Erlang cookie Current node details: * node name: 'rabbitmqcli49@DESKTOP-T5RBR6M' * effective user's home directory: C:\Users\Administrator * Erlang cookie hash: joVCp1tjZbhK/nWhgoYyjQ==
问题复现。
Authentication failed (rejected by the remote node), please check the Erlang cookie
是重点,说明cookie可能有问题。
问题解决
这里直接告诉大家问题出在哪吧,是Erlang新版本的cookie位置换了!
两种解决办法:
- 使用旧版本Erlang
- cookie替换到正确的位置
打开路径C:\Windows\System32\config\systemprofile
我们看到了这里有一个.erlang.cookie,复制这个文件到C:\Users\你的用户名
下
如果没有这个文件,请打开菜单栏的Erlang快捷方式,出现白色窗口的时候,
C:\Windows\System32\config\systemprofile
这个目录下就会出现这个文件,可能会慢一些耐心等
要确保C:\Windows\System32\config\systemprofile
和C:\Users\你的用户名
下的cookie是同一个文件!
替换完成后,无需重启服务,直接rabbitmqctl status
,如图这样就成功了。
以上
本文作者:东北小狐狸
本文链接:https://www.cnblogs.com/hellxz/p/9104028.html
版权声明:本作品采用自由转载-非商用-非衍生-保持署名 (CC BY-NC-ND 3.0)许可协议进行许可。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步