环境:

自建rabbitmq

管理页http://47.98.15x.xx:15672/

数据:47.98.15x.xx:5672

 

云rabbitmq实例

数据:47.110.xx.xx:5672

 

迁移步骤:

一、迁移元数据

1、下载的元数据文件保存至本地

Overview页签下方,单击Export definitions,从Virtual host列表选择All或者指定的Vhost名称,然后单击Download broker definitions

Virtual host列表参数说明如下:

  • All:表示导出全部Vhost元数据。
  • Vhost名称:表示导出指定Vhost元数据。

 

 

 

2、将元数据导入云消息队列 RabbitMQ

 

 

二、迁移消息队列数据

使用Shovel插件迁移消息数据

1、安装、启动shovel插件

rabbitmq-plugins enable rabbitmq_shovel rabbitmq_shovel_management

 

 

2、创建迁移queues的任务

 

 

 

 

 

 

注意:

  • 其中我们创建的迁移任务,是在自建的rabbitmq环境创建的
  • Name为队列迁移任务名称
  • 第一个URI填的是源端信息,格式为 amqp://账号:密码@ip地址:5672 其中是网卡ip地址
  • 第二个URI填的是目的端信息,格式为 amqp://账号:密码@ip地址:5672 其中是网卡ip地址
  • 最后填写无误后,点击Add shovel。

 

 

说明:

1、开始任务后,即可在Shovel Status中查看到该队列处于running状态

2、shovel是针对queue(队列)来操作的,有多少个队列要迁移数据,就要创建多少个对应的shovel

3、shovel创建好后,如果检查状态正常的话,它会自动进行迁移数据。

4、新产生的消息不会再在旧集群显示,而是直接被同步到新环境

 

现在我们来检查旧集群shovel_demo_queue队列的数据是否移到到新集群中

 

参考:

https://support.developer.huaweicloud.com/doc/development/Middleware-capability/zh-cn_topic_0000002042512118-0000002042512118

https://www.cnblogs.com/caoweixiong/p/14775268.html

https://docs.daocloud.io/middleware/rabbitmq/user-guide/migrate/#_7

https://help.aliyun.com/zh/apsaramq-for-rabbitmq/use-cases/migrate-open-source-rabbitmq-clusters-to-the-cloud?spm=a2c4g.11186623.help-menu-100989.d_3_0.685f11c60yPa89

posted on 2024-11-07 14:49  小油2018  阅读(18)  评论(0编辑  收藏  举报