RabbitMQ启动失败报错case_clause,closed及epmd相关问题求助
问题描述
RabbitMQ启动失败,报错信息如下:
BOOT FAILED =========== Exception during startup: error:{case_clause,closed} rabbit_networking:record_distribution_listener/0, line 366 rabbit_networking:boot/0, line 80 rabbit:do_run_postlaunch_phase/1, line 958 {"init terminating in do_boot",{error,{case_clause,closed}}} init terminating in do_boot ({error,{case_clause,closed}}) Crash dump is being written to: c:/Users/user/AppData/Roaming/RabbitMQ/log/erl_crash.dump...done
查看RabbitMQ日志文件c:/Users/user/AppData/Roaming/RabbitMQ/log/rabbit@DESKTOP-J9C9L63.log,发现核心错误:
[error] <0.380.0> epmd monitor failed to retrieve our port from epmd: closed
当前使用RabbitMQ 3.10.6版本,正尝试与django-celery集成,未找到有效解决方案。
解决方案
重启epmd进程
- 打开任务管理器,找到
epmd.exe进程并结束 - 以管理员身份打开命令提示符,进入RabbitMQ安装目录的
sbin文件夹(例如C:\Program Files\RabbitMQ Server\rabbitmq_server-3.10.6\sbin) - 执行命令
rabbitmq-server start重启RabbitMQ
- 打开任务管理器,找到
检查并释放4369端口
- 命令提示符中执行
netstat -ano | findstr :4369,查看是否有进程占用epmd默认的4369端口 - 如果有占用,通过任务管理器结束对应PID的进程,再重启RabbitMQ
- 命令提示符中执行
重置RabbitMQ配置
- 停止RabbitMQ服务:
rabbitmq-service stop - 重置配置:
rabbitmqctl reset - 启动服务:
rabbitmq-service start - 若之前有自定义配置,需重新创建用户、虚拟主机并设置权限
- 停止RabbitMQ服务:
验证Erlang版本兼容性
RabbitMQ 3.10.6要求Erlang版本为24.x至25.x,检查当前Erlang版本是否符合要求,若不匹配则更换对应版本后重试
内容的提问来源于stack exchange,提问作者Precious112
相关产品推荐
相关产品推荐

