一、下載linux
wget https://github.com/alibaba/MongoShake/releases/download/release-v2.4.6-20200617/mongo-shake-v2.4.6.tar.gz
2.安裝git
tar -zxvf mongo-shake-v2.4.6.tar.gz mongo-shake-v2.4.6/ mongo-shake-v2.4.6/receiver.linux mongo-shake-v2.4.6/collector.windows mongo-shake-v2.4.6/mongoshake-stat mongo-shake-v2.4.6/ChangeLog mongo-shake-v2.4.6/collector.linux mongo-shake-v2.4.6/stop.sh mongo-shake-v2.4.6/start.sh mongo-shake-v2.4.6/comparison.py mongo-shake-v2.4.6/receiver.windows mongo-shake-v2.4.6/receiver.darwin mongo-shake-v2.4.6/hypervisor mongo-shake-v2.4.6/collector.conf mongo-shake-v2.4.6/collector.darwin cd mongo-shake-v2.4.6
3.配置github
#同步模式爲全部同步 sync_mode = all #源mongodb mongo_urls = mongodb://root:rootpa***@192.168.1.28:30001,192.168.1.29:30001,192.168.1.27:30001 #源mongodb的config mongo_cs_url = mongodb://root:rootpa***@192.168.1.28:30002,192.168.1.29:30002,192.168.1.27:30002 #源mongodb的mongos mongo_s_url = mongodb://root:rootpa***@192.168.1.28:40001 tunnel = direct #目標mongodb tunnel.address = mongodb://root:rootpa***@192.168.1.12:30001 tunnel.message = raw mongo_connect_mode = secondaryPreferred #要遷移的db filter.namespace.white = test #開啓DDL同步 filter.ddl_enable = true checkpoint.storage.url = mongodb://root:rootpa***@192.168.1.12:30001
4.啓動mongodb
./collector.linux -conf=collector.conf
5.日誌windows
tail -f logs/collector.log [2020/06/28 17:35:09 CST] [INFO] [collector.(*Worker).transfer:189] Collector-worker-3 transfer retransmit:false send [1] logs. reply_acked [6843329907074793473[1593336907, 1]], list_unack [0] [2020/06/28 17:35:09 CST] [INFO] [common.(*ReplicationMetric).startup.func1:175] [name=shard1, stage=incr, get=307153, filter=306137, success=998, tps=2, ckpt_times=299, lsn_ckpt={6843329829765382145[1593336889, 1], 2020-06-28 17:34:49}, lsn_ack={6843329907074793473[1593336907, 1], 2020-06-28 17:35:07}]] [2020/06/28 17:35:12 CST] [INFO] [collector.(*OplogSyncer).calculateWorkerLowestCheckpoint:189] worker offset [6843329877010022401 6843329907074793473] use lowest 6843329877010022401[1593336900, 1] [2020/06/28 17:35:12 CST] [INFO] [executor.(*Executor).doSync:243] Replayer-3 Executor-3 doSync oplogRecords received[1] merged[1]. merge to 100.00% chunks [2020/06/28 17:35:12 CST] [INFO] [collector.(*Worker).transfer:189] Collector-worker-3 transfer retransmit:false send [1] logs. reply_acked [6843329924254662657[1593336911, 1]], list_unack [0] [2020/06/28 17:35:12 CST] [INFO] [ckpt.(*MongoCheckpoint).Insert:134] shard1 Record new checkpoint success [1593336900] [2020/06/28 17:35:12 CST] [INFO] [collector.(*OplogSyncer).checkpoint:121] CheckpointOperation write success. updated from 6843329829765382145[1593336889, 1] to 6843329877010022401[1593336900, 1] [2020/06/28 17:35:12 CST] [INFO] [executor.(*Executor).doSync:243] Replayer-2 Executor-2 doSync oplogRecords received[1] merged[1]. merge to 100.00% chunks [2020/06/28 17:35:12 CST] [INFO] [collector.(*Worker).transfer:189] Collector-worker-2 transfer retransmit:false send [1] logs. reply_acked [6843329919959695379[1593336910, 19]], list_unack [0] [2020/06/28 17:35:14 CST] [INFO] [common.(*ReplicationMetric).startup.func1:175] [name=shard1, stage=incr, get=307392, filter=306286, success=1000, tps=0, ckpt_times=300, lsn_ckpt={6843329877010022401[1593336900, 1], 2020-06-28 17:35:00}, lsn_ack={6843329924254662657[1593336911, 1], 2020-06-28 17:35:11}]]