前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >mongosync 工具可以在两个集群之间持续同步数据

mongosync 工具可以在两个集群之间持续同步数据

原创
作者头像
贺春旸的技术博客
发布2024-09-05 10:03:39
1100
发布2024-09-05 10:03:39
举报
文章被收录于专栏:DBA 平台和工具

mongosync 工具可以在两个集群之间持续同步数据,适用于异地机房灾备。

参考官方文档:https://www.mongodb.com/zh-cn/docs/cluster-to-cluster-sync

工作原理:

  1. Mongosync 首先对源数据库进行完整的初始复制。- 全量同步
  2. Mongosync 会持续监听源数据库的变更流(Change Stream)- 增量同步
  3. 如果同步过程中断,它可以从上次保存的点继续,而不需要重新开始。- 断点续传
Mongosync 同步数据架构图
Mongosync 同步数据架构图

部署与实施:

1.配置【副本集A】到【副本集B】的同步

代码语言:bash
复制
# 后台启动
# nohup ./mongosync --verbosity ERROR                \
--logPath /var/log/mongosync --port 27182            \
--cluster0 "mongodb://admin:123456@127.0.0.1:27017"  \
--cluster1 "mongodb://admin:123456@127.0.0.1:27018" > mongosync.log 2>&1 &

注:写Primary主节点IP。

2.开启 Mongosync 同步复制

代码语言:bash
复制
# curl localhost:27182/api/v1/start -X POST --data '{ "source": "cluster0", "destination": "cluster1" }'
{"success":true}

3.检查 Mongosync 的状态

代码语言:bash
复制
# curl localhost:27182/api/v1/progress -XGET | jq '.'
{
  "progress": {
    "state": "RUNNING",
    "canCommit": true,
    "canWrite": false,
    "info": "change event application",
    "lagTimeSeconds": 10,
    "collectionCopy": {
      "estimatedTotalBytes": 243,
      "estimatedCopiedBytes": 243
    },
    "directionMapping": {
      "Source": "cluster0: 127.0.0.1:27017",
      "Destination": "cluster1: 127.0.0.1:27018"
    },
    "totalEventsApplied": 0,
    "mongosyncID": "coordinator",
    "coordinatorID": "coordinator"
  },
  "success": true
}

"state"状态值是: "RUNNING",代表同步正常。

4.暂停 Mongosync

代码语言:bash
复制
# curl localhost:27182/api/v1/pause -XPOST --data '{ "source": "cluster0", "destination": "cluster1" }'

5.恢复 Mongosync

代码语言:bash
复制
# curl localhost:27182/api/v1/resume -XPOST --data '{ "source": "cluster0", "destination": "cluster1" }'

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

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

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

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

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 工作原理:
  • 部署与实施:
    • 1.配置【副本集A】到【副本集B】的同步
      • 2.开启 Mongosync 同步复制
        • 3.检查 Mongosync 的状态
          • 4.暂停 Mongosync
            • 5.恢复 Mongosync
            相关产品与服务
            云数据库 MongoDB
            腾讯云数据库 MongoDB(TencentDB for MongoDB)是腾讯云基于全球广受欢迎的 MongoDB 打造的高性能 NoSQL 数据库,100%完全兼容 MongoDB 协议,支持跨文档事务,提供稳定丰富的监控管理,弹性可扩展、自动容灾,适用于文档型数据库场景,您无需自建灾备体系及控制管理系统。
            领券
            问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档