Rabbitmq数据备份与还原

一、场景

现在有服务器A和服务器B ,由于业务需要,要求把服务器A上mq的数据迁移到服务器B上,rabbitmq的数据包括元数据(RabbitMQ用户、vhost、队列、交换和绑定)和消息数据,而消息数据存储在单独的消息存储库中。

A:192.168.2.58

B:192.168.1.60

二、元数据备份和还原

1、操作

在服务B上搭建rabbitmq服务,注意,主机名最好和A上的MQ保持一致。避免后面的数据存储节点名不一致,导致启动失败

安装过程详见:

2、导出数据

用管理员账号登录到A服务器上的管理后台

http://192.168.2.58:15672,按如下所示把备份的数据下载到本地

Rabbitmq数据备份与还原

 3、导入数据

登录到B服务器上的MQ管理后台

http://192.168.1.60:15672,进入如下图所示的位置,导入数据,大概10秒钟左右。

Rabbitmq数据备份与还原

4、验证数据

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

Rabbitmq数据备份与还原

 三、消息数据备份和还原

1、确定数据目录

登录到A服务器,执行如下命令,确定消息数据存储目:

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

2、为避免数据的一致性,需先停掉服务

service rabbitmq-server stop

3、备份数据目录

tar  -zcvf rabbit@rabbitmq-ipr-service-test.tar.gz  rabbit@rabbitmq-ipr-service-test

 4、还原数据

登录到B服务器上,先备份原来的数据目录,上传到备份数据到对应目录,并解压

tar  -zxvf  rabbit@rabbitmq-ipr-service-test.tar.gz 

5、修改数据目录权限

chown  -R rabbitmq:rabbitmq  rabbit@rabbitmq-ipr-service-test

6、启动B服务器上rabbitmq服务

service rabbitmq-server satrt

7、验证消息数据是否还原成功

Rabbitmq数据备份与还原

四、注意

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

rabbitmqctl rename_cluster_node <oldnode> <newnode>

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

文章来源:https://www.cnaaa.net,转载请注明出处:https://www.cnaaa.net/archives/6098

赞 (0)
安屠生的头像安屠生
上一篇 2022年11月15日 下午5:50
下一篇 2022年11月16日 上午10:40

相关推荐

  • 七牛云对象存储使用 qshell 批量管理文件存储类型(实战教程)

    七牛云对象存储使用 qshell 批量管理文件存储类型(实战教程) 一、适用场景说明 本教程适用于以下典型场景: 二、前置条件 1️⃣ 准备 qshell 下载地址:https://github.com/qiniu/qshell/releases 确认版本(建议记录): 2️⃣ 七牛云 AccessKey / SecretKey 确保账号具备以下权限(至少)…

    2025年12月19日
    1.5K00
  • 基于宝塔安装discuz

    前提条件 操作步骤 步骤一:配置PHP 安装扩展 TIP Discuz!Q 依赖于 fileinfo 和 exif 两个扩展运行,部署前需对 PHP 进行相关配置。以下操作将指导您安装fileinfo 和exif 扩展。 删除禁用函数 TIP Discuz!Q 需删除禁用的函数 puten…

    2023年7月31日
    1.9K00
  • SpringBoot 启动打印 Banner:佛祖保佑,永无BUG!

    在Resources目录下新建banner.txt 输入内容如下

    2023年9月13日
    2.3K00
  • 用 Nginx 禁止国外 IP 访问我的网站

    看了下 Nginx 的访问日志,发现每天有好多国外的 IP 地址来访问我的网站,并且访问的内容基本上都是恶意的。因此我决定禁止国外 IP 来访问我的网站。 想要实现这个功能有很多方法,下面我就来介绍基于 Nginx 的 ngx_http_geoip2 模块来禁止国外 IP 访问网站。 ①安装 geoip2 扩展依赖: ②下载 ngx_http_geoip2_…

    2023年4月24日
    1.6K00
  • Php如何配置mysqli扩展

    从官网上下载php后(我下的是php7.2.3版本),本想做个mysql的连接,但是无论怎么配置mysqli扩展,发现mysqli都没法用。 从百度上搜的那些方法都没法用,发现都是一些在php.ini中配置extension=php_mysqli.dll,事实上这句话没用了。 于是我仔细看了一下php.ini的配置文件,发现了一段话 大意就是以前php些版本…

    2022年6月22日
    2.1K00

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

在线咨询: QQ交谈

邮件:712342017@qq.com

工作时间:周一至周五,8:30-17:30,节假日休息

关注微信