使用前提
使用mongoshake同步数据,请先确认mongo是否是以副本集或集群的模式启动的,不然无法使用
,因为不这样启动,mongo中不会有oplog系统表。
系统:CentOS7
mongo:4
mongoshake:2.4.16
修改配置
# 解压文件
tar -zxvf mongo-shake-v2.4.16.tar.gz
# 进入mongo-shake-v2.4.16 目录
cd mongo-shake-v2.4.16
修改里面的collector.conf
配置,主要修改如下配置
# 同步模式,all表示全量+增量同步,full表示全量同步,incr表示增量同步。
sync_mode = all
# 源mongo的副本集:mongodb://username1:password1@primaryA,secondaryB,secondaryC
mongo_urls = mongodb://rabbitdb:rabbitdb@192.168.10.15:27018,192.168.10.15:27019,192.168.10.15:27020
# 同步的mongo目的地
tunnel.address = mongodb://rabbitdb:rabbitdb@10.10.1.173:27018
# 可以不填
checkpoint.storage.url =
# checkpoint存储的db的名字【可以不填】
checkpoint.storage.db =
# checkpoint存储的表的名字,如果启动多个mongoshake拉取同一个源可以修改这个表名以防止冲突。【可以不填】
checkpoint.storage.collection =
启动同步
# 在mongo-shake-v2.4.16目录下,运行如下命令
./start.sh collector.conf
查看状态
# 在mongo-shake-v2.4.16目录下,运行如下命令
./mongoshake-stat --port=9100
关闭同步
# 在mongo-shake-v2.4.16目录下,运行如下命令
./stop.sh mongoshake.pid