我试图通过连接到主服务器的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 的doc conf
在此link,MongoDB的文档说:
...
cfg = rs.conf() cfg.members[3].votes = 0 cfg.members[4].votes = 0 cfg.members[5].votes = 0 rs.reconfig(cfg)
这个序列给予第四,第五和第六成员0票 根据输出中成员数组的顺序设置 rs.conf()。此设置允许集合选择这些成员 小学但不允许他们在选举中投票。
...
但是返回的错误消息说我必须为非投票设置优先级= 0,但这表明该成员不能是主要成员。
我不明白或我在哪里做错了?
非常感谢
答案 0 :(得分:0)
您的问题是当前的MongoDB版本不允许节点上的0票优先级> 0.使用“旧”MongoDB版本,你可以做到这一点..如果我记得正确的话,2.6就是你可以做到的最后一个版本......