rabbitmq-迁移方案

小丫2年前技术文章2068

rabbitmq共有两种迁移方案:

迁移方式

优点

缺点

可用性

原理

文件导入方式

数据100%成功

业务要修改地址

暂停提供服务

可以使用

拷贝元数据方式

添加集群方式



不可用,数据会丢失(添加机器之前会清空之前所有的信息)


Shovel 方式

数据100%成功

业务要修改连接地址

可以使用

类似于转发功能,client--单机群--多集群,单集群没有数据,都落在多集群上,配置好策略就可以

1 文件导入方式

2 服务器加入集群方式

7.1 文件导入方式

   7.1.1先从需要被迁移的机器上导出需要的文件,最下面可以选择划分的虚拟机

image.png

  7.1.2选择导入的服务页面,选择备份文件,选择虚拟主机,虚拟机主机事先要创建好

image.png

  7.1.3 出现如下页面说明已成功

image.png


  7.1.4 设置镜像策略
  
  image.png

  7.1.5  验证数据是否为镜像集群模式
   我们可以看到队列一个主节点,两个镜像节点,说明数据会有三份

image.png

7.2 加入集群方式

7.2.1 需要先暂停单机服务器,备份/var/lib/rabbitmq/.erlang.cookie 文件。

7.2.2 从node1 机器上拷贝  .erlang.cookie 文件 到单机机器的/var/lib/rabbitmq/ 目录下

7.2.3 单机机器执行如下命令

     rabbitmqctl stop_app
     rabbitmqctl join_cluster rabbit@node1
     rabbitmqctl start_app

7.2.4 查看是否加入

   没有加入之前

image.png


  加入之后

image.png

 查看队列是否存在,这种方式数据是不存在的

image.png


7.3 Shovel 方式 

7.3.1 在需要迁移的机器上分别安装shovel 插件

rabbitmq-plugins enable rabbitmq_shovel

rabbitmq-plugins enable rabbitmq_shovel_management
我需要从单机机器迁移到集群服务器
首先登陆到单机机器web页面会看到已安装插件

image.png

7.3.2 配置shovel 迁移任务

image.png

7.3.3 新增成功页面

image.png

检查状态

image.png

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

7.3.4 验证

hovel创建好后,如果检查状态正常的话,它会自动进行迁移数据。现在我们来检查旧集群shovel_demo_queue队列的数据是否移到到新集群中。

在新集群中通过以下界面查看,而且数据都是镜像模式

image.png


在旧集群中通过以下界面查看

image.png

相关文章

Flink关于HiveCatalog

HiveCatalogHiveCatalog 有两个用途:作为原生 Flink 元数据的持久化存储,以及作为读写现有 Hive 元数据的接口。配置在flink-sql-connector-hive-1...

PG的锁(二)

四、死锁PostgreSQL自动检测死锁情况并会自动回滚其中一个事务进行处理,从而其他事务完成。db1=# select * from t1 where id in (1,2,3);  id | i...

oracle手工完全恢复

一)基本概念1)完全恢复的步骤1)restore: OS拷贝命令还原所有或部分datafile2)recover:SQL*PLUS利用归档日志和当前的redo日志做恢复2)完全恢复可以基于三个级别re...

压测实操--nnbench压测hdfs_namenode负载方案

压测实操--nnbench压测hdfs_namenode负载方案

本次压测使用nnbench对namenode负载进行性能测试。nnbench生成很多与HDFS相关的请求,给NameNode施加较大的压力,这个测试能在HDFS上创建、读取、重命名和删除文件操作。对应...

MySQL 查询 Binlog 生成时间

MySQL 查询 Binlog 生成时间

描述本 SOP 介绍如何查询 Binlog 的生成时间。云上 RDS 有日志管理,但是自建实例没有,该脚本可用于自建实例闪回定位 Binlog 文件。脚本介绍通过读取 Binlog FORMAT_DE...

MySQL 复制-半同步搭建及原理

MySQL 复制-半同步搭建及原理

前言MySQL 半同步复制解决了什么问题?在传统主从架构中,主库实例提交事务与发送二进制日志是异步的,也就是说从库是否成功接收到二进制日志不会影响到主库事务提交,因此可能会出现  “主库发生宕机,主库...

发表评论    

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。