mongodb副本集异常后,主从切换

mongodb副本集异常后,主从切换

mongodb副本集异常,这里记录以下避免忘记。

副本集架构:1主、1从、1仲裁

故障描述:从节点和仲裁节点宕机,这时候主节点就会被降级为从节点(投票机制:必须大于半数才会成为主节点)

百度了一堆,发现都是需要主节点操作,后发现2种方法

第一种方法:更新副本集配置,仅保留当前存放的副本集节点

第二种方法:删除local库中副本集合(system.replset),再重新创建副本集

两种方法,第一种更加方便快捷,推荐第一种方法。

(如果节点恢复,节点信息未变更,则只需重启mongodb;如果节点信息变更了,建议恢复后的节点将副本集删除后,重启mongodb服务后,从主节点重新添加,否则节点ID会有改变,且有可能添加后的节点状态不对!!!)

第一种方法操作如下:

#获取当前配置并赋值给变量cfg
cfg=rs.config()
#定义members节点(当前存活的节点ID)
cfg.members=[cfg.members[《存活的节点ID》]]
#重新配置,并引用cfg变量(强制生效force:true)
rs.config(cfg,{force:true})
#查看集群状态
rs.status()
#也可切换local,查看system.replset集合信息
use local
db.system.replset.find()

第二种方法操作如下:

1.先切换local库,删除副本集合

#切换local
use local
#查看集合,确认自己的副本集名称
db.system.replset.find()
#删除集合中对对应的副本集名称(如果你只有一个副本集,可以直接remove)
db.system.replset.remove({"_id":"《副本集名称》"});
#再次查看,确认自己的副本集已经被删除
db.system.replset.find()

2.确认副本集被删除后,重启mongodb

3.初始化副本集即可

good good study, day day up!

发表评论

textsms
account_circle
email

mongodb副本集异常后,主从切换
mongodb副本集异常,这里记录以下避免忘记。 副本集架构:1主、1从、1仲裁 故障描述:从节点和仲裁节点宕机,这时候主节点就会被降级为从节点(投票机制:必须大于半数才会成为主节…
扫描二维码继续阅读
2022-08-01