rabbitmq 数据迁移二

RabbitMQ通过shovel插件迁移数据 前言 生产环境中会遇到RabbitMQ数据迁移的场景,例如:切换云服务厂商、不同Region之间数据迁移、新搭建RabbitMQ实例,数据需要同步至新的RabbitMQ实例。   前提条件: 源RabbitMQ实例打开了shovel插件。 目的RabbitMQ实例打开了shovel插件。 源实例与目的实例能够网络互通。   当前以华为云不同Region下RabbitMQ实例数据迁移... 阅读详情

RabbitMQ 数据迁移

RabbitMQ 的数据包括元数据(RabbitMQ 用户、vhost、队列、交换和绑定)和消息数据,其中消息数据存储在单独的消息存储库中。

由于业务需要,要求把 rabbitmq-cluster-a 集群上的数据迁移到 rabbitmq-cluster-b 集群上。

数据迁移步骤

Info

从 V3.7.0 开始,RabbitMQ 将所有消息数据存储在 msg_stores/vhosts 目录中,并存储在每个 vhost 的子目录中。 每个 vhost 目录都以哈希命名,并包含一个带有 vhost 名称的 .vhost 文件,因此可以单独备份特定 vhost 的消息集。 了解更多信息。

RabbitMQ 数据迁移,可以采用如下两种方案:

  • 方案一:不迁移数据,先切换生产端,再切换消费端。
  • 方案二:先迁移数据,然后同时切换生产端和消费端。

方案一

不迁移数据,先切换生产端,再切换消费端。

操作流程
  1. 将消息生产端切换到集群 rabbitmq-cluster-b,不再生产消息到 rabbitmq-cluster-a 集群中。
  2. 消费端同时消费 rabbitmq-cluster-a 和 rabbitmq-cluster-b 集群中的消息,当 rabbitmq-cluster-a 集群中消息全部消费完后,将消息消费端切换到 rabbitmq-cluster-b 集群中,完成数据迁移。
验证方法
  • 在 RabbitMQ Management Web UI 页面查看。

    查看

  • 调用 API 查看

    curl -s -u username:password -XGET http://ip:port/api/overview
    

    参数说明:

    • username:使用rabbitmq-cluster-a集群的 RabbitMQ Management WebUI 的帐号
    • password:使用rabbitmq-cluster-a集群的 RabbitMQ Management WebUI 的密码
    • ip:使用rabbitmq-cluster-a集群的 RabbitMQ Management WebUI 的 IP 地址
    • port:使用rabbitmq-cluster-a集群的 RabbitMQ Management WebUI 的端口号
  • 在 Overview 视图中,消费消息数(Ready)以及未确定的消息数(Unacked)都为 0,说明消费完成。

    消息数为 0

方案二

先迁移数据,然后同时切换生产端和消费端。借助 shove 插件完成数据迁移。

shovel 迁移数据的原理是消费rabbitmq-cluster-a集群中的消息,将消息生产到rabbitmq-cluster-b集群中,迁移后rabbitmq-cluster-a集群中的消息被清空,建议离线迁移,业务会出现中断。

rabbitmq-cluster-a 和 rabbitmq-cluster-b 均需要开启 shovel 插件。

开启插件

参数说明:

  • Name: 配置 shovel 的名称。
  • Source: 指定协议类型、连接的源集群地址,源端的类型。
  • Prefech count: 表示 shovel 内部缓存(从源端集群到目的集群之间的缓存部分)的消息条数。
  • Auto-delete: 默认为 Never,表示不删除本集群消息,如果设置为 After initial length transferred,则在消息转移完成后删除。
  • Destination: 指定协议类型,连接目标集群地址,目标端的类型。
  • Add forwarding headers: 设置为 true,则会在转发的消息内添加 x-shovelled 的 header 属性。
  • Reconnect delay:指定在 Shovel link 失效的情况下,重新建立连接前需要等待的时间,单位为秒。如果设置为 0,则不会进行重连动作,即 Shovel 会在首次连接失效时停止工作。默认为 5 秒。
  • Acknowledgement mode:参考 Federation 的配置。

    • no ack 表示无须任何消息确认行为;
    • on publish 表示 Shovel 会把每一条消息发送到目的端之后再向源端发送消息确认;
    • on confirm 表示 Shovel 会使用 publisher confirm 机制,在收到目的端的消息确认之后再向源端发送消息确认。
迁移前消息数量

迁移前消息

配置 shovel 信息

配置 shovel

shovel 运行状态

运行状态

当 shovel 状态为“running”时,表示迁移开始。等数据迁移完成后,将生产端、消费端切换至 rabbitmq-cluster-b 集群中,完成迁移过程。

迁移后消息数量
  • rabbitmq-cluster-a 集群消息情况

    集群消息

  • rabbitmq-cluster-b 集群消息情况

    集群消息

(12)activemq迁移 activemq迁移:导出:导入: 阅读详情

相关推荐

华为C语言笔试题(附答案)

华为C语言笔试题(附答案)     1、局部变量能否和全局变量重名?   答:能,局部会屏蔽全局。要用全局变量,需要使用 ":: "   局部变量可以与全局变量同名,在函数内引用这个变量时,会用到同名的局部变量,而不会用到全局变量。对于有些编译器而言,在同一个函数内可以定义多个同名的局部变量,比如在两个循环体内都定义一个同名的局部变量,而那个局部变量的作用域就在那个循环体内。  

峰云四起 3037

拿来即用-RabbitMQ迁移

迁移消息队列RabbitMQ

2401_83878092的博客 937

Windows下Fortran调用CGNS库的完整踩坑实录:从HDF5、CMake到VS2019+IVF2020的保姆级配置

本文详细记录了在Windows环境下使用Fortran调用CGNS库的完整配置过程,涵盖HDF5安装、CMake配置、VS2019与IVF2020集成等关键步骤。通过实战经验分享,帮助开发者解决常见编译错误和链接问题,实现高效的Fortran与CGNS库集成。

weixin_28707739的博客 351

rabbitmq 数据迁移

生产环境中会遇到RabbitMQ数据迁移的场景,例如:切换云服务厂商、不同Region之间数据迁移、新搭建RabbitMQ实例,数据需要同步至新的RabbitMQ实例。此时上海Region的RabbitMQ实例中的队列数据已经为0,而北京Region的RabbitMQ实例中的队列数据为10000条,可以看到数据已经完整迁移过来了。在北京Region新申请一台单机实例,绑定好公网ip,打开Shovel插件,用作数据中转。此时再向上海Region的队列生产数据,数据也会被实时同步至北京。

ajax_beijing_java的博客 861

2024从零开始使用VSCode编程(静态页面制作篇)HTML+CSS+JS阶段

VSCode第一个前端静态页面的编写

ssrsrrn的博客 9591

Dify整合FireCrawl与百度搜索实战:手把手教你打造全能研究助手

本文手把手教你基于Dify平台,整合FireCrawl网页爬虫与百度搜索能力,构建一个能同时处理本地文档与实时网络信息的全能研究助手。通过部署核心环境、配置模型、接入两大工具并设计自动化工作流,实现从问题提出到深度分析报告生成的一站式解决方案,极大提升信息调研与整合效率。

weixin_29062963的博客 501

RabbitMQ队列迁移

RabbitMQ把某个队列从一个集群迁移到另一个集群的操作方法 比如,把队列 dhgate_translate_priority 由酒仙桥读写jxq_mq_group_e集群的172.19.224.22、172.19.224.25节点分别迁移至酒仙桥读写jxq_mq_group_g集群的172.19.40.71、172.19.40.72节点。 step1、在dhmq管理平台(http://172.19.40.57:8080/login)上查看dhgate_translate_priority队列信息和所属集

domain.5忘初心 2911

硅纪元应用测评 | AI搜索引擎大比拼:360AI搜索、秘塔搜索、GenSpark AI和天工AI对比评测

搜索引擎输出的每个段落都有对应的出处,如果有错误,也是信息源的问题,从普通用户的角度来看,这与AI搜索的产品关系不大,能让用户对AI搜索的服务和得到的信息有一个隔离。同时,提供更多的定制选项,允许用户根据自己的偏好调整搜索结果的权重和排序,将使得搜索体验更加个性化和满足用户的具体需求。此外,大部分搜索工具还提供了一个无广告的搜索环境(360AI搜索部分内容会有广告),极大地提升了用户的搜索体验。AI搜索的本质依然是搜索,但它通过AI的逻辑分析和语言重新组织,使用户能够快速得到想要的信息。

guijiyuantech的博客 2014

RabbitMQ 迁移

如果您只需要导出和导入RabbitMQ的定义(如vhost、exchange、queue等),可以使用RabbitMQ的 HTTP API。

Doublelv 的博客专栏。 2436

项目介绍 MATLAB实现基于LSTM-XGBoost长短期记忆网络(LSTM)结合极端梯度提升(XGBoost)进行多变量时序预测的详细项目实例(含模型描述及部分示例代码)

本项目基于MATLAB平台,实现LSTM-XGBoost混合模型进行多变量时序预测。通过LSTM网络自动提取时序特征,结合XGBoost强大的回归能力,有效解决多变量时序数据的高维复杂性、长短期依赖捕捉等难题。项目包含完整的数据预处理流程、模型构建与训练方法,以及性能评估指标。提供的GUI界面支持参数调整、训练监控和结果可视化,适用于能源、金融、气象等多领域预测任务。配套代码详细注释,便于理解模型实现细节,为时序预测研究提供实用参考框架。

优质创作者: 人工智能技术领域 对于有一定基础的 MATLAB和Python带具体需求都可以详谈 MATLAB和Python可以提供代码调试服务加油 谢谢 你的鼓励是我前行的动力 谢谢支持 加油 谢谢 103

【100%通过率】华为OD机试真题 C++ 实现【打印机队列】【2022.11 Q4 新题】

有5台打印机打印文件,每台打印机有自己的待打印队列。因为打印的文件内容有轻重缓急之分,所以队列中的文件有1~10不同的代先级,其中数字越大优先级越高。打印机会从自己的待打印队列中选择优先级最高的文件来打印。如果存在两个优先级一样的文件,则选择最早进入队列的那个文件。现在请你来模拟这5台打印机的打印过程。

MISAYAONE的博客 9947

RabbitMQ--扩展--03--日志文件,故障恢复,集群迁移,集群监控

如果在使用RabbitMQ 的过程中出现了异常情况,通过查看RabbitMQ 的服务日志可以让你在处理异常的过程中事半功倍。RabbitMQ 日志中包含各种类型的事件,比如连接尝试、服务启动、插件安装及解析请求时的错误等。

zhou920786312的博客 2153

Python自动化脚本:模拟鼠标键盘保持电脑在线状态

在计算机自动化领域,模拟用户输入是一项基础且实用的技术,其核心原理是通过程序生成鼠标或键盘事件来与操作系统交互。这项技术的价值在于能够自动化重复性操作,提升工作效率,并解决特定场景下的系统交互问题。PyAutoGUI作为Python生态中广泛使用的自动化库,封装了跨平台的底层API调用,为开发者提供了简洁统一的接口来实现输入模拟。在实际工程实践中,这类技术常应用于自动化测试、远程办公辅助、数据抓取等场景,帮助用户保持系统活跃状态,防止因无操作导致的锁屏或休眠中断任务。通过合理配置移动间隔和随机化模式,可以更

weixin_28713299的博客 578

RabbitMQ的数据日志存放以及数据迁移

rabbitMQ的数据和日志的存储位置 当我们安装rabbitMQ时,系统RabbitMQ默认读取的配置文件路径在%AppData%\RabbitMQ中 重新指定路径

lutan20的博客 1100

温度PID控制PLC程序

温度PID稳定控制程序,适用于欧姆龙PLC,对其他PLC也具有很大参考价值

最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版

Part-E1-SDIO-Specification-Ver4.00-Final-120220.pdf:最新的sdio 4.0 spec 协议标准 带书签 高清完整PDF版,包括SDIO 接口的外设,SDIO 接口官方协议等。

MySQL 磁盘空间不够用 方案_Mysql数据磁盘不足,不停机扩容方案

方法一:使用LVM逻辑卷管理扩容首先查看磁盘分区是否是LVM方法1:[root@test1 ~]# vgdisplay--- Volume group ---VG Name centosSystem IDFormat lvm2Metadata Areas 2Metadata Sequence No 5VG Access ...

weixin_39820437的博客 975

RU DOS版、EFI版32bit/64bit BIOS常用工具

DOS版、EFI版的RU工具,可用来查看IO、MEM、PCI、SMBIOS等资源。亲测在EFI SHELL下可用。

k8s部署rabbitmq以及数据迁移

rabbitmq日志及存储数据磁盘空间在使用过程中如果不及时消费或者数据量过多,会导致磁盘空间使用率日益增高,严重时可能会发生rabbitmq服务器宕机。一旦发现rabbitmq磁盘空间不够用,或者发生服务器宕机,重启服务失败,此时就需要更大的磁盘来存储rabbitmq数据,才能保证服务正常启动。原账号能够登录成功,说明数据迁移成功,因为如果数据迁移失败,用户数据会丢失,原账号是登录不成功的。文件上传后,需要对目录的权限进行修改,如果不进行修改,会导致服务重启失败。

jialiu111111的博客 1317

老版QQ原生表情gif动态

这是老版的QQ表情,不过全是动态的的,Windows照片查看器是不会动的,可以右击用浏览器打开查看,再说一遍是老版的,只是分享给宁愿用老版也要动态的人。

RabbitMQ数据迁移:版本升级和数据转移

在分布式系统中,消息队列(Message Queue,消息队列)作为核心组件,其数据迁移和版本升级直接影响业务连续性。RabbitMQ作为一款功能丰富的多协议消息代理,在版本迭代中引入了如Khepri数据库、元数据存储优化等重要特性,同时也带来了数据迁移的新挑战。本文将从版本兼容性分析、迁移策略设计、实战操作指南三个维度,帮助运维和开发人员平稳完成RabbitMQ数据迁移工作。 ## 版本兼容性...

gitblog_00325的博客 1098

docker compose方式部署rabbitmq

镜像选择: 选择rabbitmq:3-management是因为带有web管理功能的 如果是rabbit:3.7.8 这种版本 需要进入容器内部执行 docker exec -it rabbitnq bash rabbitmq-plugins enable rabbitmq_management docker-compose文件如下: version: '2' services: rabbit...

u011790603的博客 1404

RabbitMQ数据迁移终极指南:跨版本与跨集群同步方案全解析

RabbitMQ作为一款高性能的消息中间件,在企业级应用中扮演着关键角色。随着业务增长和系统迭代,数据迁移成为不可避免的需求。本文将为您提供一套完整的RabbitMQ数据迁移解决方案,涵盖跨版本升级和跨集群同步的核心技巧,帮助您实现零停机迁移,确保数据安全与业务连续性。 ## 一、迁移前的关键准备工作 在开始迁移前,充分的准备工作是确保成功的基础。首先需要对当前RabbitMQ集群进行全面评估

gitblog_00683的博客 451

rabbitmq连接数一直增加_Rabbitmq资料整理

1.什么是MQ?消息总线(Message Queue),是一种跨进程、异步的通信机制,用于上下游传递消息。由消息系统来确保消息的可靠传递。2.MQ是干什么用的?应用解耦、异步、流量削锋、数据分发、错峰流控、日志收集等3.MQ衡量标准 1.服务性能 2.数据存储 3.集群架构主流竞品分析 当前市面上mq的产品很多,比如RabbitMQ、Kafka、ActiveMQ、ZeroMQ和阿里巴巴捐献给...

weixin_39768247的博客 1606

RabbitMQ 从入门到精通:从工作模式到集群部署实战(五)

RabbitMQ 从入门到精通:从工作模式到集群部署实战(五)

虽非技冠群英首,愿与同道共长歌; 大鹏一日同风起,扶摇直上九万里; 1778

rabbitmq数据备份与还原

一、场景 现在有服务器A和服务器B ,由于业务需要,要求把服务器A上mq的数据迁移到服务器B上,rabbitmq的数据包括元数据(RabbitMQ用户、vhost、队列、交换和绑定)和消息数据,而消息数据存储在单独的消息存储库中。 A:192.168.2.58 B:192.168.1.60 二、元数据备份和还原 1、操作 在服务B上搭建rabbitmq服务,注意,主机名最好和A上的MQ...

weixin_30394251的博客 2222

RabbitMQ备份恢复:数据迁移和灾难恢复方案

在分布式系统中,消息队列的数据安全至关重要。RabbitMQ作为主流的消息中间件,其数据备份与恢复机制直接关系到业务连续性。本文将从实际运维场景出发,详解三种备份策略的实施步骤、适用场景及自动化方案,帮助运维人员构建可靠的数据保护体系。 ## 核心备份技术对比 RabbitMQ提供多种数据持久化机制,需根据业务RTO(恢复时间目标)和RPO(恢复点目标)选择合适方案: | 备份方式 | 实现...

gitblog_00276的博客 1066

docker部署Canal + RabbitMQ

工作中,会遇到数据清洗的情况下,还有就是要用到数据热迁移。就是在不停机的情况下,进行数据迁移工作。这样的情况下,我们就可以利用cannal来完成异步和业务解耦的方式,来完成自动的数据迁移工作。在提高效率和事务一致性的情况下,我们可以采用mq来配合使用。

xiaofeixiagg666的博客 491
上一篇: rabbitmq 数据迁移
下一篇: kubectl 知识点
ajax_beijing_java
博客等级 码龄13年 605粉丝 264原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值