您的位置:首页 > 数据库 > Mongodb

故障案例--mongodb副本集成员节点和投票节点的限制

2016-10-12 20:00 2531 查看

现象

在给一套5个节点的mongo 3.0副本集升级到mongo 3.2,采用的方案是将3.2的节点作为Secondary先挂到原3.0的Primary,结果报错如下

PRIMARY> rs.add("10.9.128.170:27017")

{
"ok" : 0,
"errmsg" : "Replica set configuration contains 8 voting members, but must be at least 1 and no more than 7",
"code" : 103

}

故障原因

看报的错原因很明显,是投票节点数量超过了mongodb限制,翻看了下官方文档,发现这么一段话

Because a replica set can have up to 50 members,
but only 7 voting members,
non-voting members allow a replica set to have more than seven members.

原来一个副本集下所有节点加起来不能超过50个,而投票节点的数量不得超过7个。

个人认为mongodb如此设计的原因应该是:少量的投票节点可以加快投票速度

解决方案

官方文档给出了如何设置该节点为非投票节点,当然也可以直接remove掉不必要的节点
https://docs.mongodb.com/manual/tutorial/configure-a-non-voting-replica-set-member/
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: