rabbitmq-迁移方案

小丫2年前技术文章1852

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

相关文章

静默安装oracle11g单实例

环境: CentOS 7.8 11.2.0.4.0 orclp:172.16.104.31一、准备1、依赖包检查pdksh 在 redhat 上叫 ksh检查是否有安装root# rpm -q bin...

flink获取taskmanager的pstree信息

flink获取taskmanager的pstree信息

使用pstree –p 进程号 的方式能够获取taskmanager的pstree信息,这个地方提供一个收集脚本。内容如下:#!/bin/bashsearchPID() {   l...

MySQL运维实战(4.8) SQL_MODE之NO_ENGINE_SUBSTITUTION

开启NO_ENGINE_SUBSTITUTION,建表时如果指定的存储引擎不可用或不存在,SQL报错。否则会使用默认的存储引擎替换。如果不设置NO_ENGINE_SUBSTITUTION,建表时指定的...

MySQL 小数类型介绍

MySQL 小数类型介绍

前言对于保证精度的数字,MySQL 也有对应的小数类型,下图是 MySQL 中小数类型概览。 浮点:小数点非固定的数,可表示数据范围较广,整数,小数都可表示。定点:小数点固定,可表示整数,小数。int...

ES模糊查询(Wildcard Query)导致CPU打满问题

ES模糊查询(Wildcard Query)导致CPU打满问题

一、概述    Wildcard Query是es中实现模糊查询的一种方式,尤其对有SQL经验的人,会常常习惯于它,毕竟这是和SQL里like操作最相似的查询方式,最近一个客户的es集群就在这上面踩了...

helm安装部署trino对接hive(一)

helm安装部署trino对接hive(一)

前提:本文前提是基于hive组件已经提前安装的情况下,安装部署好trino容器之后进行对hive组件的对接。helm trino地址:https://artifacthub.io/packages/h...

发表评论    

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