zoukankan      html  css  js  c++  java
  • 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,按如下所示把备份的数据下载到本地

     3、导入数据

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

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

    4、验证数据

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

     三、消息数据备份和还原

    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、验证消息数据是否还原成功

    四、注意

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

    rabbitmqctl rename_cluster_node <oldnode> <newnode>

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

  • 相关阅读:
    vs2010 项目生成成功,发布失败
    net导出到excel数字变为科学技术法
    vba 2-6位随机大小写字母
    vba 延时
    foxmail错误信息:501 请登录exmail.qq.com修改密码
    电脑开机出现C:WindowsSystem32driversfs_rec.sys
    向txt中插入一行数据
    定时关机
    ASCII码
    C# 事件与继承
  • 原文地址:https://www.cnblogs.com/heruiguo/p/11045288.html
Copyright © 2011-2022 走看看