RabbitMQ服务启动后崩溃,报‘Cannot get connection id for node’错误求助
问题描述
Windows Server 2022系统中,已安装Erlang 25与RabbitMQ 3.10.6,启动RabbitMQ服务后立即崩溃,日志记录如下:
2024-11-21 15:37:34.801000-05:00 [notice] <0.219.0> Logging: configured log handlers are now ACTIVE
2024-11-21 15:37:36.645000-05:00 [error] <0.60.0>
2024-11-21 15:37:36.645000-05:00 [error] <0.60.0> ** Cannot get connection id for node rabbit@Server
2024-11-21 15:37:36.645000-05:00 [error] <0.60.0>
主机名为Server,已在配置文件中添加RABBITMQ_NODENAME=rabbit@Server,问题未解决。系统已加入域,操作以管理员身份执行。
解决方法
- 同步Erlang Cookie值
Erlang节点通信依赖完全一致的Cookie,需确保RabbitMQ与Erlang使用的Cookie相同:- 找到Erlang的Cookie文件,域环境下通常在
C:\Users\<你的管理员用户名>\.erlang.cookie,非域环境可能在C:\Windows\.erlang.cookie - 找到RabbitMQ服务的Cookie文件,默认路径为
C:\Users\RabbitMQ\.erlang.cookie - 将两个文件的内容完全复制统一,注意Cookie是无空格换行的纯文本,同时设置文件权限为仅管理员和系统账户可读
- 找到Erlang的Cookie文件,域环境下通常在
- 更换RabbitMQ服务运行账户
域环境下默认服务账户可能存在权限限制:- 打开服务管理器,找到RabbitMQ服务右键选「属性」
- 切换到「登录」选项卡,选择「此账户」,输入域管理员账户(格式:
域名\用户名)及对应密码 - 重启RabbitMQ服务
- 验证主机名解析
确保rabbit@Server中的Server能正确指向本地服务器:- 打开命令提示符,执行
ping Server,确认返回本地服务器IP - 编辑
C:\Windows\System32\drivers\etc\hosts文件,添加一行127.0.0.1 Server(或服务器实际公网/内网IP),保存后重启服务
- 打开命令提示符,执行
- 重新配置环境变量
确保节点名称与Erlang路径配置生效:- 打开系统环境变量设置,添加系统变量
RABBITMQ_NODENAME,值为rabbit@Server - 添加
ERLANG_HOME变量,值为Erlang安装路径(如C:\Program Files\Erlang OTP\25.3) - 重启命令提示符,执行
rabbitmqctl status测试节点状态
- 打开系统环境变量设置,添加系统变量
内容的提问来源于stack exchange,提问作者Mathew Joy
相关产品推荐
相关产品推荐

