rabbitmq版本升级

目录

一、背景

二、部署新的mq

三、元数据备份和还原

四、消息数据备份和还原

五、注意


一、背景

因原来rabbitmq版本存在漏洞需升级至最新版本。

原来是使用软件包部署,升级我采用使用docker-compose部署,后续还需升级直接改版本号就行,先部署新的,端口改成别的,调试没问题再恢复默认端口

二、部署新的mq

cat rabbitmq.yaml

version: '3'
 
services:
  rabbitmq:
    image: rabbitmq:3.9.13-management
    container_name: rabbitmq
    network_mode: bridge
    hostname: localhost
    restart: always
    ports:
      - 4369:4369     #erlang发现口
      - 25672:25672   #server间内部通信口
      - 15672:15672   #管理界面ui端口
      - 5672:5672     ##client端通信口
    volumes:
      - ./rabbitmq:/var/lib/rabbitmq
      - /etc/localtime:/etc/localtime
       
    environment:
      - RABBITMQ_DEFAULT_USER=xxxx
      - RABBITMQ_DEFAULT_PASS=xxxx
      - RABBITMQ_ERLANG_COOKIE=CURIOAPPLICATION

三、元数据备份和还原

1.在旧mq web上导出

rabbitmq版本升级_第1张图片

2. 在新mq web上导入

rabbitmq版本升级_第2张图片

 3.刷新页面,查看用户、队列、vhost 等信息是否存在

rabbitmq版本升级_第3张图片

四、消息数据备份和还原

1.确定原mq数据存储路径

[root@rabbitmq-ipr-service-test opt]# rabbitmqctl eval 'rabbit_mnesia:dir().'
"/var/lib/rabbitmq/mnesia/rabbit@rabbitmq-ipr-service-test"

2.因为新的mq我是使用docker-compose部署,直接做目录映射即可。如果使用软件包,需要压缩打包备份。

3.验证消息队列

rabbitmq版本升级_第4张图片

五、注意

内部节点数据库在某些记录中存储节点的名称,如果节点名称发生更改,则必须首先使用以下rabbitmqctl命令更新数据库以便更改:

rabbitmqctl rename_cluster_node

当新节点以备份目录和匹配的节点名称启动时,它会根据需要执行升级步骤并继续引导。

你可能感兴趣的:(rabbitmq)