You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Ubuntu 20.04下RabbitMQ 3.12.1启动失败求助

RabbitMQ启动失败(feature_flags_registry初始化失败)解决方法

环境版本

Ubuntu 20.04.6
rabbitmq-server 3.12.1-1

问题现象

执行systemctl start rabbitmq-server时服务启动失败,提示:

Job for rabbitmq-server.service failed because the control process exited with error code.
See "systemctl status rabbitmq-server.service" and "journalctl -xe" for details.

systemctl状态信息

● rabbitmq-server.service - RabbitMQ broker
     Loaded: loaded (/lib/systemd/system/rabbitmq-server.service; enabled; vendor preset: enabled)
    Drop-In: /etc/systemd/system/rabbitmq-server.service.d
             └─limits.conf
     Active: activating (auto-restart) (Result: exit-code) since Tue 2023-07-11 15:27:07 CEST; 298ms ago
    Process: 935584 ExecStart=/usr/lib/rabbitmq/bin/rabbitmq-server (code=exited, status=1/FAILURE)
   Main PID: 935584 (code=exited, status=1/FAILURE)
     Status: "Standing by"
kaiyu@kaiyu-Latitude-5500:~

journalctl日志信息

jul 11 15:27:33 kaiyu-Latitude-5500 rabbitmq-server[935767]: 2023-07-11 15:27:33.512944+02:00 [error] <0.236.0>     exception exit: {failed_to_initialize_feature_flags_registry,
jul 11 15:27:33 kaiyu-Latitude-5500 rabbitmq-server[935767]: 2023-07-11 15:27:33.512944+02:00 [error] <0.236.0>                         {rabbit,start,[normal,[]]}}
jul 11 15:27:33 kaiyu-Latitude-5500 rabbitmq-server[935767]: 2023-07-11 15:27:33.512944+02:00 [error] <0.236.0>       in function  application_master:init/4 (application_master.erl, line 142)
jul 11 15:27:33 kaiyu-Latitude-5500 rabbitmq-server[935767]: 2023-07-11 15:27:33.512944+02:00 [error] <0.236.0>     ancestors: [<0.235.0>]
jul 11 15:27:33 kaiyu-Latitude-5500 rabbitmq-server[935767]: 2023-07-11 15:27:33.512944+02:00 [error] <0.236.0>     message_queue_len: 1
jul 11 15:27:33 kaiyu-Latitude-5500 rabbitmq-server[935767]: 2023-07-11 15:27:33.512944+02:00 [error] <0.236.0>     messages: [{'EXIT',<0.237.0>,normal}]
jul 11 15:27:33 kaiyu-Latitude-5500 rabbitmq-server[935767]: 2023-07-11 15:27:33.512944+02:00 [error] <0.236.0>     links: [<0.235.0>,<0.44.0>]
jul 11 15:27:33 kaiyu-Latitude-5500 rabbitmq-server[935767]: 2023-07-11 15:27:33.512944+02:00 [error] <0.236.0>     dictionary: []
jul 11 15:27:33 kaiyu-Latitude-5500 rabbitmq-server[935767]: 2023-07-11 15:27:33.512944+02:00 [error] <0.236.0>     trap_exit: true
jul 11 15:27:33 kaiyu-Latitude-5500 rabbitmq-server[935767]: 2023-07-11 15:27:33.512944+02:00 [error] <0.236.0>     status: running
jul 11 15:27:33 kaiyu-Latitude-5500 rabbitmq-server[935767]: 2023-07-11 15:27:33.512944+02:00 [error] <0.236.0>     heap_size: 233
jul 11 15:27:33 kaiyu-Latitude-5500 rabbitmq-server[935767]: 2023-07-11 15:27:33.512944+02:00 [error] <0.236.0>     stack_size: 28
jul 11 15:27:33 kaiyu-Latitude-5500 rabbitmq-server[935767]: 2023-07-11 15:27:33.512944+02:00 [error] <0.236.0>     reductions: 168
jul 11 15:27:33 kaiyu-Latitude-5500 rabbitmq-server[935767]: 2023-07-11 15:27:33.512944+02:00 [error] <0.236.0>   neighbours:
jul 11 15:27:33 kaiyu-Latitude-5500 rabbitmq-server[935767]: 2023-07-11 15:27:33.512944+02:00 [error] <0.236.0>
jul 11 15:27:33 kaiyu-Latitude-5500 rabbitmq-server[935767]: 2023-07-11 15:27:33.519884+02:00 [notice] <0.44.0> Application rabbit exited with reason: {failed_to_initialize_feature_flags_registry,{rabbit,start,[normal,[]]}}
jul 11 15:27:35 kaiyu-Latitude-5500 rabbitmq-server[935767]: Kernel pid terminated (application_controller) ({application_start_failure,rabbit,{failed_to_initialize_feature_flags_registry,{rabbit,start,[normal,[]]}}})
jul 11 15:27:35 kaiyu-Latitude-5500 rabbitmq-server[935767]: 
jul 11 15:27:35 kaiyu-Latitude-5500 rabbitmq-server[935767]: Crash dump is being written to: erl_crash.dump...done
jul 11 15:27:35 kaiyu-Latitude-5500 systemd[1]: rabbitmq-server.service: Main process exited, code=exited, status=1/FAILURE
-- Subject: Unit process exited
-- Defined-By: systemd
-- Support: http://www.ubuntu.com/support
-- 
-- An ExecStart= process belonging to unit rabbitmq-server.service has exited.
-- 
-- The process' exit code is 'exited' and its exit status is 1.
jul 11 15:27:35 kaiyu-Latitude-5500 systemd[1]: rabbitmq-server.service: Failed with result 'exit-code'.
-- Subject: Unit failed
-- Defined-By: systemd
-- Support: http://www.ubuntu.com/support
-- 
-- The unit rabbitmq-server.service has entered the 'failed' state with result 'exit-code'.
jul 11 15:27:35 kaiyu-Latitude-5500 systemd[1]: Failed to start RabbitMQ broker.
-- Subject: A start job for unit rabbitmq-server.service has failed
-- Defined-By: systemd
-- Support: http://www.ubuntu.com/support
-- 
-- A start job for unit rabbitmq-server.service has finished with a failure.
-- 
-- The job identifier is 299570 and the job result is failed.

已尝试的无效方法

  • 执行rabbitmqctl enable_feature_flag all开启所有功能标志,无效
  • 执行sudo apt update时出现404错误,原RabbitMQ源链接失效:
    Failed to fetch https://ppa1.novemberain.com/rabbitmq/rabbitmq-erlang/deb/ubuntu/dists/focal/main/binary-i386/Packages  404  Not Found [IP: 172.67.140.63 443]
    E: Failed to fetch https://ppa1.novemberain.com/rabbitmq/rabbitmq-server/deb/ubuntu/dists/focal/main/binary-i386/Packages  404  Not Found [IP: 172.67.140.63 443]
    
  • 重新安装rabbitmq-server包,无效

解决方案

步骤1:清理旧的RabbitMQ源

  1. 删除旧的源文件:
    sudo rm /etc/apt/sources.list.d/rabbitmq.list
    sudo rm /etc/apt/sources.list.d/rabbitmq-erlang.list
    
  2. 清理apt缓存并更新:
    sudo apt clean
    sudo apt update
    

步骤2:修复feature_flags_registry问题

该错误多由数据目录权限异常或数据损坏导致:

  1. 停止并禁用服务(终止重启循环):
    sudo systemctl stop rabbitmq-server
    sudo systemctl disable rabbitmq-server
    
  2. 备份数据目录(可选但推荐):
    sudo cp -r /var/lib/rabbitmq /var/lib/rabbitmq_backup
    
  3. 清理损坏的Mnesia数据:
    sudo rm -rf /var/lib/rabbitmq/mnesia
    
  4. 修复数据目录权限:
    sudo chown -R rabbitmq:rabbitmq /var/lib/rabbitmq
    

步骤3:重新安装并配置官方源

  1. 添加官方Erlang和RabbitMQ源:
    # 添加Erlang源
    echo "deb https://packages.erlang-solutions.com/ubuntu focal contrib" | sudo tee /etc/apt/sources.list.d/erlang-solutions.list
    wget -O- https://packages.erlang-solutions.com/ubuntu/erlang_solutions.asc | sudo apt-key add -
    
    # 添加RabbitMQ源
    echo "deb https://dl.bintray.com/rabbitmq/debian focal main" | sudo tee /etc/apt/sources.list.d/rabbitmq.list
    wget -O- https://www.rabbitmq.com/rabbitmq-release-signing-key.asc | sudo apt-key add -
    
  2. 更新并重新安装指定版本:
    sudo apt update
    sudo apt install rabbitmq-server=3.12.1-1
    

步骤4:启动并验证服务

  1. 启用并启动服务:
    sudo systemctl enable rabbitmq-server
    sudo systemctl start rabbitmq-server
    
  2. 检查服务状态:
    systemctl status rabbitmq-server
    

内容的提问来源于stack exchange,提问作者kykywei

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.16 07:19:50