一 简介:今天咱们来聊聊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状态,不可提供服务,需启动一个从节点