前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >MongoDB节点如何快速克隆?

MongoDB节点如何快速克隆?

作者头像
保持热爱奔赴山海
发布2022-09-23 15:35:40
4790
发布2022-09-23 15:35:40
举报
文章被收录于专栏:饮水机管理员饮水机管理员

常见的方法,直接把新的节点加入到现有的MongoDB集群中,让它自己去同步数据,这个方法最简单省事。

但是,也会存在一些缺点:

1、全量同步期间,集群的负载会变高,如果业务程序的read_timeout write_timeout 设置的比较低可能会有感知。对此可以调大业务程序链接mongodb的几个timeout参数。

2、需要事先估算下oplog的大小,防止出现新的节点还处于全量同步的过程中,现有集群的oplog被覆盖的情况。这样的话,新的节点永远也加不进集群里。

鉴于上述2个原因,生产上大库(例如1T以上)的加节点,我一般采样下面的方法:

假设节点标识为:主节点:M  2个备节点:S1 S2 , 新加入的节点为S3

1、关停一个从节点S1的MongoDB进程。 生产基本上都是一主两备(PSS架构)吧,如果还是一主一备一仲裁(PSA架构),建议乘早改掉,官方都不推荐了。

2、scp拷贝这个S1的数据到新的节点S3。

3、启动step1关停的从节点S1的MongoDB进程,自动加回集群。

4、启动新的节点S3的MongoDB进程。

5、在原先的主节点M上,执行添加S3节点的操作。

6、S3节点会加入后会根据oplog中的信息,尝试增量同步,等一段时间完成增量同步后即可加入集群。

TIPS:

oplog 在MongoDB>=3.6+ 版本(希望没记错)已经可以在线调整的。看下当前的oplog存多久的,就可估算出能不能撑到拷完数据,如果担心不够大就先在线调整下就行。

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2022-08-24,如有侵权请联系 cloudcommunity@tencent.com 删除

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

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

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

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
云数据库 MongoDB
腾讯云数据库 MongoDB(TencentDB for MongoDB)是腾讯云基于全球广受欢迎的 MongoDB 打造的高性能 NoSQL 数据库,100%完全兼容 MongoDB 协议,支持跨文档事务,提供稳定丰富的监控管理,弹性可扩展、自动容灾,适用于文档型数据库场景,您无需自建灾备体系及控制管理系统。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档