【MongoDB】复制集添加新成员
2023-03-01 13:42 abce 阅读(107) 评论(0) 编辑 收藏 举报前提条件:
1.一个活跃状态的复制集 2.要增加的新节点
1.启动要添加的mongodb实例
启动过程要指定好复制集名称。
2.确认已有复制集的状态,登录到主节点
3.添加新的成员
rs.add( { host: "mongodb4.example.com:27017", priority: 0, votes: 0 } )
添加新的成员的时候,如果将votes、priority设置为非0,在初始化同步的时候,新加节点也是投票成员,虽然它还不支持读或变成主节点,因为数据还不一致。
这样,可能会导致满足大多数的投票节点在线,但是不能选出新的主节点。为了避免这种情况发生,可以将votes、priority设置为0。
在新加节点数据追上后(状态变成SECONDARY),再使用rs.reconfig()修改其优先级和投票权。
4.查看新成员状态
rs.status()
5.重置priority和votes属性
var cfg = rs.conf(); cfg.members[4].priority = 1 cfg.members[4].votes = 1 rs.reconfig(cfg)