Ubuntu启动RabbitMQ报错:`classic_mirrored_queue_version`特性标志未启用
解决方案
1. 修复源配置(核心问题)
你未添加官方Cloudsmith源,导致安装的是Ubuntu默认仓库中的旧版RabbitMQ或Erlang,版本不匹配引发特性标志兼容性问题。按以下步骤配置正确源并重新安装:
- 导入Cloudsmith与Erlang的GPG密钥:
curl -1sLf "https://keys.openpgp.org/vks/v1/by-fingerprint/0A9AF2115F4687BD29803A206B73A36E6026DFCA" | sudo gpg --dearmor | sudo tee /usr/share/keyrings/com.rabbitmq.team.gpg > /dev/null curl -1sLf "https://keyserver.ubuntu.com/pks/lookup?op=get&search=0xf77f1eda57ebb1cc" | sudo gpg --dearmor | sudo tee /usr/share/keyrings/net.launchpad.ppa.rabbitmq.erlang.gpg > /dev/null curl -1sLf "https://keyserver.ubuntu.com/pks/lookup?op=get&search=0x8E61B27A" | sudo gpg --dearmor | sudo tee /usr/share/keyrings/io.cloudsmith.rabbitmq.gpg > /dev/null - 添加源列表文件:
echo "deb [signed-by=/usr/share/keyrings/net.launchpad.ppa.rabbitmq.erlang.gpg] http://ppa.launchpad.net/rabbitmq/rabbitmq-erlang/ubuntu $(lsb_release -cs) main" | sudo tee /etc/apt/sources.list.d/rabbitmq.list echo "deb-src [signed-by=/usr/share/keyrings/net.launchpad.ppa.rabbitmq.erlang.gpg] http://ppa.launchpad.net/rabbitmq/rabbitmq-erlang/ubuntu $(lsb_release -cs) main" | sudo tee -a /etc/apt/sources.list.d/rabbitmq.list echo "deb [signed-by=/usr/share/keyrings/io.cloudsmith.rabbitmq.gpg] https://dl.cloudsmith.io/public/rabbitmq/rabbitmq-server/deb/ubuntu $(lsb_release -cs) main" | sudo tee /etc/apt/sources.list.d/rabbitmq-server.list echo "deb-src [signed-by=/usr/share/keyrings/io.cloudsmith.rabbitmq.gpg] https://dl.cloudsmith.io/public/rabbitmq/rabbitmq-server/deb/ubuntu $(lsb_release -cs) main" | sudo tee -a /etc/apt/sources.list.d/rabbitmq-server.list - 更新包索引并重装匹配版本:
sudo apt update sudo apt remove --purge rabbitmq-server erlang* sudo apt install rabbitmq-server erlang-base erlang-crypto erlang-eldap erlang-inets erlang-mnesia erlang-os-mon erlang-parsetools erlang-public-key erlang-runtime-tools erlang-snmp erlang-ssl erlang-syntax-tools erlang-tftp erlang-tools erlang-xmerl
2. 手动启用特性标志(重装后仍报错时)
若重新安装后问题依旧,可手动启用缺失的特性标志:
- 停止RabbitMQ服务:
sudo systemctl stop rabbitmq-server - 启用
classic_mirrored_queue_version:sudo rabbitmqctl enable_feature_flag classic_mirrored_queue_version - 重启服务:
sudo systemctl start rabbitmq-server
3. 验证状态
检查服务运行状态:
sudo systemctl status rabbitmq-server
查看特性标志启用情况:
sudo rabbitmqctl list_feature_flags
内容的提问来源于stack exchange,提问作者Mohammad Faateh
相关产品推荐
相关产品推荐

