mongosync非常强大,可以实现mongodb之间迁移或者迁移至TokuMX,TokuMX版本对mongodb做了很多改进,我公司逐步用TokuMX来替换mongodb
mongosync是什么mongosync是用于MongoDB复制集之间,复制集到分片集群之间以及分片集群与分片集群之间同步数据的一个工具。
mongosync使用场景
1.实时迁移,尤其是从一个集群迁移到另一个集群,或者master-slave架构迁移到replica sets架构
2.实时同步,比如同步数据到其他集群。3.其他场景mongosync特点及功能增强
1.极速(ssd环境最大能达到百万每秒)、易用;
2.支持全量同步,增量同步,支持同步单库、单集合;
3.支持实时监测数据的变化并同步,类似tail -f效果,即使在同步过程中及以后新产生的数据也能同步到目标库;
4.支持MongoDB 1.8.x,MongoDB 2.0.x,MongoDB 2.4.x版本的同步,
支持master-slave到replica sets架构的同步,
支持replica sets到replica sets架构的同步,
支持replica sets到sharding cluster的同步;
集群间实时迁移方法:
直接使用mongosync 全量同步+增量同步功能同步数据到目标库(--oplog参数)
几个使用方法:(线上mongodb未采用权限控制,因为发现对性能有影响)
全量同步
mongosync -h 10.0.4.91:27017 --to 10.0.4.91:27020
增量同步
mongosync -h 10.0.4.91:27017 --to 10.0.4.91:27020 --oplog -s 1369406664,1
"初始化"同步(全量+增量+实时)
mongosync -h 10.0.4.91:27017 --to 10.0.4.91:27020 --oplog
同步一段时间范围内的数据
mongosync -h 10.0.4.91:27017 --to 10.0.4.91:27020 --oplog -s 1369811325,1 -t 1369811373,1