MongoDB 复制集深度解析与实战指南
1. 复制集概述
连接到新的主节点并检查复制集状态时,可能会发现旧主节点无法访问。例如:
$ mongo --port 40001
> rs.status()
故障转移后,复制集可能仅由两个节点组成。若旧主节点正常关闭,可将其重新启动,它会自动作为从节点重新加入复制集。
2. 复制原理
复制集依赖于两个基本机制:操作日志(oplog)和心跳机制。
2.1 操作日志(oplog)
oplog 是 MongoDB 复制的核心,它是一个固定大小的集合,存在于每个复制节点的 local 数据库中,记录所有数据更改。每次客户端向主节点写入数据时,会自动在主节点的 oplog 中添加一个包含足够信息以重现该写入操作的条目。当写入操作复制到从节点时,从节点的 oplog 也会存储该写入记录。每个 oplog 条目由 BSON 时间戳标识,从节点使用该时间戳跟踪它们应用的最新条目。
以下是查看 oplog 的具体操作步骤:
1. 连接到主节点的 shell 并切换到 local 数据库:
myapp:PRIMARY> use local
switched to db local
- 查看
local数据库中的
超级会员免费看
订阅专栏 解锁全文
565

被折叠的 条评论
为什么被折叠?



