Rabbitmq 报错:reply-code=503, reply-text=COMMAND_INVALID - unknown exchange type ‘x-delayed-message‘

此处错误在docker安装mq环境下,客户端访问报错reply-code=503, reply-text=COMMAND_INVALID - unknown exchange type 'x-delayed-message'

一、进入容器内部查看是否安装延时插件

  1. 进入容器内部:docker exec -it 容器id /bin/bash

  1. 进入plugins目录

  1. 查询插件列表 rabbitmq-plugins list

如果rabbitmq_delayed_message_exchange中括号前不为[E*]则需要添加chmod 777权限,

  1. 如果不存在就去官网下载mq对应的延时插件mq插件地址

安装插件 延时消息插件
下载后传入服务器
docker cp rabbitmq_delayed_message_exchange-*.ez 容器id:/plugins # 通过此命令将插件复制到docker容器中的plugins目录下
进入容器内部
docker exec -it 容器id /bash/bin
cd plugins
设置权限
chmod 777 rabbitmq_delayed_message_exchange-3.11.1.ez
开启延时
rabbitmq-plugins enable rabbitmq_delayed_message_exchange
开启web控制台
rabbitmq-plugins enable rabbitmq_management
  1. 如果存在,还是报错,进入plugins目录下并且设置权限【chmod 777 插件地址】

设置权限为777
chmod 777 rabbitmq_delayed_message_exchange-3.11.1.ez
重新开启延时插件
rabbitmq-plugins enable rabbitmq_delayed_message_exchange
  1. 至此,重新启动客户端访问试试吧

猜你喜欢

转载自blog.csdn.net/qq_31671187/article/details/128792308