配置非投票副本集成员
在本页面
非投票成员允许您添加最多七个投票成员之外的其他成员以进行阅读分发。
要将成员配置为不投票,请将其votes和priority值都设置为0
。
Example
以下示例将第四,第五和第六副本集成员配置为非投票成员。
cfg = rs.conf();
返回的文档包含一个members
字段,该字段包含成员配置文档的零索引数组,副本集的每个成员一个文档。
- 要将第四,第五和第六个副本集成员配置为不投票,请使用以下命令序列将其members[n].votes和members[n].priority值都设置为
0
。
cfg.members[3].votes = 0;
cfg.members[3].priority = 0;
cfg.members[4].votes = 0
cfg.members[4].priority = 0;
cfg.members[5].votes = 0
cfg.members[5].priority = 0;
- 使用rs.reconfig()方法使用更新的副本集配置文档重新配置副本集。
rs.reconfig(cfg);
放置有投票权的成员,以使您希望充当主要对象的mongod实例在网络分区的情况下能获得多数表决权。
使用members[n].priority控制哪些成员更有可能成为主要成员。
更新副本配置对象时,请使用 array index 访问members数组中的副本集成员。数组索引以0
开头。不要将此索引值与members数组中每个文档中members[n]._id字段的值混淆。
Warning
-
rs.reconfig() shell 方法可以强制当前主节点降级,从而导致election。当主服务器降级时,mongod关闭所有 Client 端连接。尽管这通常需要 10 到 20 秒,但请尝试在计划的维护期间进行这些更改。
-
避免重新配置包含不同 MongoDB 版本成员的副本集,因为验证规则在 MongoDB 版本之间可能有所不同。