rabbitmq_delayed_message_exchange安装
Posted 码头土夫子
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了rabbitmq_delayed_message_exchange安装相关的知识,希望对你有一定的参考价值。
文章目录
一、插件下载
插件网站(下载.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安装的主要内容,如果未能解决你的问题,请参考以下文章