rabbitmq_delayed_message_exchange安装

文章目录

  • 一、插件下载
  • 二、基于Linux
  • 三、基于Docker
  • 四、安装成功
  • 五、异常解决
    • 启动插件报错
    • 启容器报错Error response from daemon: driver failed programming external connectivity


一、插件下载

插件网站(下载.ez)
https://github.com/rabbitmq/rabbitmq-delayed-message-exchange/releases

版本选择
进入rabbitmq web界面 选择跟红框对应的版本即可
rabbitmq_delayed_message_exchange安装_第1张图片

二、基于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界面新建交换机选择类型出现红框标注即表示成功
rabbitmq_delayed_message_exchange安装_第2张图片

五、异常解决

启动插件报错

检查版本与插件的兼容关系,确保下载的插件版本匹配安装的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

你可能感兴趣的:(java,rabbitmq,docker,分布式,java)