前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >MongoDB数据同步工具之 MongoShake

MongoDB数据同步工具之 MongoShake

作者头像
保持热爱奔赴山海
发布2019-09-17 14:35:57
4K0
发布2019-09-17 14:35:57
举报
文章被收录于专栏:数据库相关

之前360出的那个mongodb数据同步工具比较老,对于3.X版本的mongodb支持不太好。

阿里巴巴出了个  MongoShake , 目前可以支持到MongoDB4.X(我测试从mongodb3.2.16同步数据到mongodb4.0.4没问题)

官方地址: https://github.com/alibaba/MongoShake

中文介绍地址: https://yq.aliyun.com/articles/603329

具体的介绍,可以参考上面第二个链接。 实际原理类似于 我们在mysql环境下常用的canal (MongoShake 通过订阅oplog, 然后给下游消费或者直接发送给下游mongodb实例)

MongoShake应用场景举例

    1.  MongoDB集群间数据的异步复制,免去业务双写开销。

    2.  MongoDB集群间数据的镜像备份(当前1.0开源版本支持受限)

    3.  日志离线分析

    4.  日志订阅

    5.  数据路由。根据业务需求,结合日志订阅和过滤机制,可以获取关注的数据,达到数据路由的功能。

    6.  Cache同步。日志分析的结果,知道哪些Cache可以被淘汰,哪些Cache可以进行预加载,反向推动Cache的更新。

    7.  基于日志的集群监控

MongoShake功能介绍

MongoShake从源库抓取oplog数据,然后发送到各个不同的tunnel通道。源库支持:ReplicaSet,Sharding,Mongod,目的库支持:Mongos,Mongod。现有通道类型有:

    1.  Direct:直接写入目的MongoDB

    2.  RPC:通过net/rpc方式连接

    3.  TCP:通过tcp方式连接

    4.  File:通过文件方式对接

    5.  Kafka:通过Kafka方式对接

    6.  Mock:用于测试,不写入tunnel,抛弃所有数据

fb52a0a72855c9b16654029065b91f2398afe88e
fb52a0a72855c9b16654029065b91f2398afe88e
e002e8280c19ca13c9bc4999e90be8437c2fcf1a
e002e8280c19ca13c9bc4999e90be8437c2fcf1a

其它的介绍,可以参考上面的地址,这里就不大段贴了。

直接上实操吧:

环境: centos7 

源库: mongodb 3.2.16

目的库: mongodb 4.0.4

mongo-shake的编译安装

代码语言:javascript
复制
yum install golang  golang-bin golang-src  # 我这里安装的是1.9.4的go包

mkdir /home/gocode/
export GOPATH=/home/gocode/
echo 'export GOPATH=/home/gocode/' >> /root/.bashrc
source /root/.bashrc

git clone https://github.com/aliyun/mongo-shake.git
cd mongo-shake/src/vendor
GOPATH=`pwd`/../..

go get -u -v github.com/kardianos/govendor   # 依赖到这个包,需要先安装下govendor

/home/gocode/bin/govendor sync

cd ../../ && ./build.sh
这样,就会在 bin目录下生成可执行的二进制文件

启动方式: 
./bin/collector -conf=conf/collector.conf
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2019/05/08 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • MongoShake应用场景举例
  • MongoShake功能介绍
相关产品与服务
数据库
云数据库为企业提供了完善的关系型数据库、非关系型数据库、分析型数据库和数据库生态工具。您可以通过产品选择和组合搭建,轻松实现高可靠、高可用性、高性能等数据库需求。云数据库服务也可大幅减少您的运维工作量,更专注于业务发展,让企业一站式享受数据上云及分布式架构的技术红利!
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档