安装版本
rabbit: RabbitMQ 3.8.16
erlang: Erlang 23.3.2
rabbit: rabbitmq_delayed_message_exchange-3.8.9-0199d11c.ez
准备
1.rabbmitMQ 安装
docker pull rabbitmq
2.rabbmitMQ 启动
docker run -d --hostname my-rabbit --name rabbit -e RABBITMQ_DEFAULT_USER=用户名 -e RABBITMQ_DEFAULT_PASS=密码 -p 15672:15672 -p 5672:5672 rabbitmq:management
3.确认rabbitmq版本
安装延迟队列
1.访问 Rabbitmq的github网址,检索 delay 找到插件rabbitmq-delayed-message-exchange
如下图所示:
2.找到对应版本
3. 将下载的上传到服务器
4. 查看rabbitmq容器
docker ps
5.将插件导入到容器
docker cp rabbitmq_delayed_message_exchange-3.8.9-0199d11c.ez 2eea1a4b7a52:/opt/rabbitmq/plugins
6.进入此容器
docker exec -it 2eea1a4b7a52 /bin/bash
7.进入插件列表查看插件
cd /opt/rabbitmq/plugins
8.安装消息管理插件
rabbitmq-plugins enable rabbitmq_shovel rabbitmq_shovel_management
9.查看插件
rabbitmq-plugins list
10.启动插件并重启容器
rabbitmq-plugins enable rabbitmq_delayed_message_exchange
以上rabbitmq的延迟消息队列的安装已完成
出现问题
1.(CaseClauseError) no case clause matching: {:plugin_built_with_incompatible_erlang, ‘rabbitmq_delayed_message_exchange’}
出现** (CaseClauseError) no case clause matching:…有可能是Erlang和RabbitMQ版本没对应。
写在最后
如果大家对相关文章感兴趣,可以关注公众号"架构殿堂",会持续更新AIGC,java基础面试题, netty, spring boot,spring cloud等系列文章,一系列干货随时送达!