【发布时间】:2016-11-14 18:18:55
【问题描述】:
我正在尝试通过连接到主节点的 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 的文档配置文件
在 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()。此设置允许集合选择这些成员作为 初选,但不允许他们在选举中投票。
...
但是返回的错误消息说我必须为 non-voting 设置 priority=0,但这意味着该成员不能是主要成员。
我不明白什么或我做错了什么?
非常感谢
【问题讨论】:
-
欢迎来到 SO。您的问题可能更适合dba.stackexchange.com,但请务必访问他们的Help Center 页面,以便了解该网站的内容
-
您能否发布您的配置文件或更改成员 4 和 5 的配置部分
标签: mongodb replication mongodb-replica-set database nosql