概述
文章目录
- 一、插件下载
- 二、基于Linux
- 三、基于Docker
- 四、安装成功
- 五、异常解决
- 启动插件报错
- 启容器报错Error response from daemon: driver failed programming external connectivity
一、插件下载
插件网站(下载.ez)
https://github.com/rabbitmq/rabbitmq-delayed-message-exchange/releases
版本选择
进入rabbitmq web界面 选择跟红框对应的版本即可
二、基于Linux
命令如下(示例):
--1、cd到rabbitmq默认安装位置
cd /usr/lib/rabbitmq/lib/rabbitmq_server-3.7.18/plugins
--2、通过ftp工具将插件上传到此目录下
--3、开启插件
rabbitmq-plugins enable rabbitmq_delayed_message_exchange
--4、重启MQ服务
systemctl restart rabbitmq-server
三、基于Docker
命令如下(示例):
--1、通过ftp工具将插件上传到Linux服务器的根目录下
--2、拷贝到docker中rabbitmq插件目录下,rabbitmq_delayed_message_exchange-3.9.0.ez(下载包的全名)
docker cp /rabbitmq_delayed_message_exchange-3.9.0.ez 容器ID:/plugins
--3、进入容器
docker exec -it 容器id /bin/bash
--4、查看插件是否存在(确保2中的操作已经将插件拷贝过来了)
cd plugins
ls |grep delay
--5、开启插件
rabbitmq-plugins enable rabbitmq_delayed_message_exchange
--6、退出容器
exit
--7、重启MQ服务
docker restart 容器ID
四、安装成功
web界面新建交换机选择类型出现红框标注即表示成功
五、异常解决
启动插件报错
检查版本与插件的兼容关系,确保下载的插件版本匹配安装的MQ服务
启容器报错Error response from daemon: driver failed programming external connectivity
原因:在我们启动了Docker后,我们再对防火墙firewalld进行操作,就会报错
详细原因:docker服务启动时定义的自定义链DOCKER,当 centos7 firewall 被清掉时,
firewall的底层是使用iptables进行数据过滤,建立在iptables之上,这可能会与 Docker 产生冲突。当 firewalld 启动或者重启的时候,将会从 iptables 中移除 DOCKER 的规则,从而影响了 Docker 的正常工作。当你使用的是 Systemd 的时候, firewalld 会在 Docker 之前启动,但是如果你在 Docker 启动之后操作 firewalld ,你就需要重启 Docker 进程了
解决方法:重启docker服务器——systemctl restart docker
最后
以上就是大力石头为你收集整理的rabbitmq_delayed_message_exchange安装一、插件下载二、基于Linux三、基于Docker四、安装成功五、异常解决的全部内容,希望文章能够帮你解决rabbitmq_delayed_message_exchange安装一、插件下载二、基于Linux三、基于Docker四、安装成功五、异常解决所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复