博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
利用mongosync做数据库迁移
阅读量:2499 次
发布时间:2019-05-11

本文共 1053 字,大约阅读时间需要 3 分钟。

背景

有些情况下,官方推荐的迁移方法不是那么便捷,比如mongos集群的整体迁移步骤非常繁琐,且对网络的要求很高;

mongosync支持mongos集群迁移,目前支持3.0及以下版本,特别适合mongodb跨机房的迁移

目前有这么一个需求

机房A有一套mongos集群,需要迁移到机房B,A和B之间的mongo实例网络不通,但是在其中一个中转服务器上能够分别ping通A机房和B机房的mongodb实例,于是我采用360开发的开源迁移工具mongosync

步骤

1 在B机房建立和A机房相同配置的mongos集群

2 A机房mongos停止负载均衡器

3 mongosync全量+增量同步

4 等待两端集群数据完成同步后,在B机房设置sharding信息,比如哪个表的哪个字段参与sharding

5 A机房mongos集群业务停服

6 确认数据完全同步后,应用层将业务ip改为B机房的mongos ip

7 迁移完成

mongosync的安装和使用方法

系统版本  centos 7.2  python 2.7.5  gcc 4.8.5

安装方法

1 git clone https://github.com/jacketwoo/mongosync

2 yum install -y scons

3 yum install -y boost boost-devel

4 yum install -y openssl-devel

5 cd mongosync/

6 make

使用方法(全量+增量+mongos)

nohup ./mongosync --src_srv 10.6.13.140:27000 --src_user ucloudbackup --src_passwd xxx --src_auth_db admin --dst_srv 10.19.110.146:27000 --dst_user ucloudbackup --dst_passwd xxx --dst_auth_db admin --oplog --is_mongos --shard_user ucloudbackup --shard_passwd xxx&

其中shard_user和shard_passwd指的是每一个分片的登录账户和密码,这里没有考虑多分片账户不一致的情况,所以理论上最好所有的分片都采用一套账户和密码

更多wiki参见https://github.com/Qihoo360/mongosync/wiki

转载地址:http://ycbgb.baihongyu.com/

你可能感兴趣的文章
DOM操作指令
查看>>
PHPCMS快速建站系列之类别调用及类别显示页面
查看>>
《第二章 感知机》
查看>>
自定义注解的理解及其应用
查看>>
HomeWork1_Login in
查看>>
javascript中的类
查看>>
新词发现博文收集
查看>>
input text focus去掉默认光影
查看>>
使用JsonP进行跨域请求
查看>>
HDU 5317 RGCDQ (数论素筛)
查看>>
学习JSP(一)
查看>>
node安装-Win+Linux+Mac osx
查看>>
cookie和session笔记
查看>>
Java中使用注释
查看>>
构建你的第一个App
查看>>
牛客练习赛19 托米看电影
查看>>
(转)AIX 5.3 安装中文语言包
查看>>
dinic 算法 基本思想及其模板
查看>>
【转】关于 Nokogiri 的安装依赖 libxml2安装问题
查看>>
override (C# Reference)
查看>>