我正在尝试通过连接到主节点的 mongo shell 将副本集成员的投票数设置为 0,但是当我调用时出现错误:
rstest:PRIMARY> rs.reconfig(conf)
{
"ok" : 0,
"errmsg" : "priority must be 0 when non-voting (votes:0)",
"code" : 103
}
我要做的是:
rstest:PRIMARY> conf = rs.conf()
... //the conf document
rstest:PRIMARY> conf.members[0].votes = 0
rstest:PRIMARY> rs.reconfig(conf)
其中conf.members[0]是SECONDARY的文档 conf
在这个链接MongoDB 的文档说:
...
cfg = rs.conf() cfg.members[3].votes = 0 cfg.members[4].votes = 0 cfg.members[5].votes = 0 rs.reconfig(cfg)
该序列根据 rs.conf() 输出中成员数组的顺序,对集合的第四、第五和第六个成员给予 0 票。此设置允许集合将这些成员选举为主要成员,但不允许他们在选举中投票。
...
但是返回的错误消息说我必须为non-voting设置 priority=0 ,但这意味着该成员不能是主要成员。
我不明白什么或我做错了什么?
非常感谢