mongodb-replica-set

MongoDB 副本集配置与运维

补充说明

MongoDB Replica Set 通过多节点复制提供高可用和读扩展。一个主节点接收写,多个从节点复制 oplog,选举时自动切换。

常用示例

mongosh --host rs0/db1:27017,db2:27017
rs.initiate({
  _id: "rs0",
  members: [
    { _id: 0, host: "db1:27017", priority: 2 },
    { _id: 1, host: "db2:27017", priority: 1 },
    { _id: 2, host: "db3:27017", priority: 1 }
  ]
})
rs.status()
rs.conf()
rs.add("db4:27017")
rs.remove("db4:27017")
rs.stepDown(60)
db.adminCommand({ replSetGetStatus: 1 })

易错点与排错

相关命令

读完自测

合上页面,先回答,再展开对照。

  1. 副本集中 priority: 0 的节点会怎样?
  2. oplog 大小影响什么?
  3. 执行 rs.stepDown 后客户端报错,应该怎么处理?
答案
  1. 不会成为主节点,跨机房部署要注意。
  2. 影响可回放窗口,写入量大时要提前调大。
  3. 等待选举完成,客户端需要重试。