mongodb 系列 ~ mongo的副本集(3)

时间:2022-04-30 00:57:51

一 简介:今天咱们来聊聊mongodb复制的具体一些案例

二 副本集

1 当mongodb采用全量复制时,如何观察全量复制的进度

对比文件本身和primary大小

2 mongodb全量复制的过程

旧版                  0 建立集合和_id索引 1 拷贝全量数据 2建立相关索引(相当耗时) 3应用oplog

3.4+新版改进   0 建立集合和所有索引 1 拷贝全量数据同时在local中存储oplog 3  应用oplog

改进之处 1 是减少建立索引的耗时 2 存储oplog,防止oplog在主被覆盖后无法进行同步

可以看出 3.4版本才算是mongo第一部完善的产品,之前的版本有很多不合理的设定

3 什么情况下需要注意oplog

mongodb的oplog可以理解为mysql的binlog,是复制关系的核心

当 mongo通过rs,status()发现secondary进入recoving中就要注意了,这就是由于oplog不足导致的问题,所以建议调大,在安装mongo的时候建议不要指定oplog,默认磁盘的5%即可

4 mongo集群故障的极端条件

1 当两个从节点同时处于recoving状态时,主节点显示为primary状态,可提供服务.但是mongorestore会有问题

2 当两个从节点同时处于down状态时,主节点显示secondary状态,不可提供服务,需启动一个从节点