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 })
priority: 0 的节点不会成为主;跨机房部署要注意。rs.stepDown 后要等待选举完成,客户端需重试。mongosh — 客户端mongod — 服务端mongodump — 备份合上页面,先回答,再展开对照。
priority: 0 的节点会怎样?rs.stepDown 后客户端报错,应该怎么处理?