Windows10下RabbitMQ启动报错:rabbit节点已运行,rabbitmqctl stop无效
Windows10下RabbitMQ节点已运行错误的解决办法
启动RabbitMQ时报错:
ERROR: node with name "rabbit" is already running on host "DESKTOP-BKRTA3R"
使用rabbitmqctl stop命令未解决问题,完整报错信息翻译如下:
完整报错信息:
2022-11-11 16:46:03.015000-08:00 [错误] <0.131.0> 2022-11-11 16:46:03.015000-08:00 [错误] <0.131.0> 启动失败 2022-11-11 16:46:03.015000-08:00 [错误] <0.131.0> =========== 2022-11-11 16:46:03.015000-08:00 [错误] <0.131.0> 错误:名为"rabbit"的节点已在主机"DESKTOP-BKRTA3R"上运行 2022-11-11 16:46:03.015000-08:00 [错误] <0.131.0> 启动失败 =========== 错误:名为"rabbit"的节点已在主机"DESKTOP-BKRTA3R"上运行 2022-11-11 16:46:04.017000-08:00 [错误] <0.131.0> 监督进程:{local,rabbit_prelaunch_sup} 2022-11-11 16:46:04.017000-08:00 [错误] <0.131.0> 错误上下文:启动错误 2022-11-11 16:46:04.017000-08:00 [错误] <0.131.0> 原因:{duplicate_node_name,"rabbit","DESKTOP-BKRTA3R"} 2022-11-11 16:46:04.017000-08:00 [错误] <0.131.0> 故障进程:[{pid,undefined}, 2022-11-11 16:46:04.017000-08:00 [错误] <0.131.0> {id,prelaunch}, 2022-11-11 16:46:04.017000-08:00 [错误] <0.131.0> {mfargs,{rabbit_prelaunch,run_prelaunch_first_phase,[]}}, 2022-11-11 16:46:04.017000-08:00 [错误] <0.131.0> {restart_type,transient}, 2022-11-11 16:46:04.017000-08:00 [错误] <0.131.0> {significant,false}, 2022-11-11 16:46:04.017000-08:00 [错误] <0.131.0> {shutdown,5000}, 2022-11-11 16:46:04.017000-08:00 [错误] <0.131.0> {child_type,worker}] 2022-11-11 16:46:04.017000-08:00 [错误] <0.131.0> 2022-11-11 16:46:04.017000-08:00 [错误] <0.129.0> 崩溃进程: 2022-11-11 16:46:04.017000-08:00 [错误] <0.129.0> 初始调用:application_master:init/4 2022-11-11 16:46:04.017000-08:00 [错误] <0.129.0> 进程ID:<0.129.0> 2022-11-11 16:46:04.017000-08:00 [错误] <0.129.0> 注册名称:[] 2022-11-11 16:46:04.017000-08:00 [错误] <0.129.0> 异常退出:{{shutdown, 2022-11-11 16:46:04.017000-08:00 [错误] <0.129.0> {failed_to_start_child,prelaunch, 2022-11-11 16:46:04.017000-08:00 [错误] <0.129.0> {duplicate_node_name,"rabbit", 2022-11-11 16:46:04.017000-08:00 [错误] <0.129.0> "DESKTOP-BKRTA3R"}}}, 2022-11-11 16:46:04.017000-08:00 [错误] <0.129.0> {rabbit_prelaunch_app,start,[normal,[]]}} 2022-11-11 16:46:04.017000-08:00 [错误] <0.129.0> 调用函数:application_master:init/4 (application_master.erl, 第142行) 2022-11-11 16:46:04.017000-08:00 [错误] <0.129.0> 父进程:[<0.128.0>] 2022-11-11 16:46:04.017000-08:00 [错误] <0.129.0> 消息队列长度:1 2022-11-11 16:46:04.017000-08:00 [错误] <0.129.0> 消息:[{'EXIT',<0.130.0>,normal}] 2022-11-11 16:46:04.017000-08:00 [错误] <0.129.0> 链接:[<0.128.0>,<0.44.0>] 2022-11-11 16:46:04.017000-08:00 [错误] <0.129.0> 字典:[] 2022-11-11 16:46:04.017000-08:00 [错误] <0.129.0> 捕获退出:true 2022-11-11 16:46:04.017000-08:00 [错误] <0.129.0> 状态:运行中 2022-11-11 16:46:04.017000-08:00 [错误] <0.129.0> 堆大小:376 2022-11-11 16:46:04.017000-08:00 [错误] <0.129.0> 栈大小:28 2022-11-11 16:46:04.017000-08:00 [错误] <0.129.0> 化简次数:167 2022-11-11 16:46:04.017000-08:00 [错误] <0.129.0> 关联进程: 2022-11-11 16:46:04.017000-08:00 [错误] <0.129.0> 2022-11-11 16:46:04.043000-08:00 [通知] <0.44.0> 应用rabbitmq_prelaunch退出,原因:{{shutdown,{failed_to_start_child,prelaunch,{duplicate_node_name,"rabbit","DESKTOP-BKRTA3R"}}},{rabbit_prelaunch_app,start,[normal,[]]}} {"Kernel进程终止",application_controller,"{application_start_failure,rabbitmq_prelaunch,{{shutdown,{failed_to_start_child,prelaunch,{duplicate_node_name,\"rabbit\",\"DESKTOP-BKRTA3R\"}}},{rabbit_prelaunch_app,start,[normal,[]]}}}"} Kernel进程终止 (application_controller) ({application_start_failure,rabbitmq_prelaunch,{{shutdown,{failed_to_start_child,prelaunch,{duplicate_node_name,"rabbit","DESKTOP-BKRTA3R"}}},{rabbit_prelaunch_app,start,[normal,[]]}}})
解决办法
1. 强制操作Erlang节点
打开管理员权限的命令提示符,执行以下命令(替换DESKTOP-BKRTA3R为你的实际主机名):
rabbitmqctl stop_app -n rabbit@DESKTOP-BKRTA3R rabbitmqctl reset -n rabbit@DESKTOP-BKRTA3R rabbitmqctl start_app -n rabbit@DESKTOP-BKRTA3R
若以上命令无效,直接强制关闭节点:
rabbitmqctl stop -n rabbit@DESKTOP-BKRTA3R --force
2. 手动终止RabbitMQ相关进程
- 按下
Ctrl+Shift+Esc打开任务管理器 - 切换到详细信息标签,找到所有
erl.exe(Erlang虚拟机进程)和含rabbitmq的进程 - 右键选择结束任务,确认终止所有相关进程
3. 删除残留锁定文件
RabbitMQ可能因残留锁定文件误判节点状态:
- 打开RabbitMQ数据目录,默认路径为
C:\Users\<你的用户名>\AppData\Roaming\RabbitMQ或C:\ProgramData\RabbitMQ - 删除名为
rabbit@DESKTOP-BKRTA3R.pid的文件 - 若有备份需求,可先备份
mnesia目录,再删除该目录下的节点相关文件(删除会清除所有队列和配置)
4. 重启RabbitMQ服务
打开管理员命令提示符执行:
net stop RabbitMQ net start RabbitMQ
或通过服务管理器操作:
- 按下
Win+R输入services.msc回车 - 找到
RabbitMQ服务,右键选择重启
内容的提问来源于stack exchange,提问作者NicholasM
相关产品推荐
相关产品推荐

