首页 » NoSQL » MongoDb集群中当多台服务器down掉恢复

MongoDb集群中当多台服务器down掉恢复

原文 http://blog.csdn.net/m0_37706885/article/details/76238357

2017-07-28 13:20:19阅读(399)

MongoDb集群中的多台服务器down掉后我们可以通过Mongodb提供的命令重新修复集群关系.

1、当我们的集群中还存在一半以上的服务器结点我们可以方便的重新选择primary node.在Mongodb1.8版本以上我们可以用下面的命令来重新选择primary node.运行下面命令必须在primary node

      cfg = rs.conf() //得到副本集的配置对象

      cfg.members[0].priority = 2//给当前第一个结点设置优先级以便让它能去竞选primary node

      rs.reconfig(cfg)//让配置生效

2、当我们的副本集中超过一半的结点服务器已经down掉,我们就不能使用上面的命令恢复副本集,必须使用下面的命令:

      cfg = rs.conf() //得到副本集的配置对象

//把down掉的结点从cfg.members中去掉,留下处于活动的结点

      config.members = [config.members[1], config.members[3], config.members[4]]

      rs.reconfig(config, {force :true })//让配置生效,因为现在没有呢primary node必须添加强制更新(force:true)

3、如果刚才down掉的结点要重新加入该副本集那么需要使用下面的命令:

      cfg = rs.conf() //得到副本集的配置对象

//把down掉的结点重新加入进来并且原来的结点也要加入进来(这里注意down的结点原来的—id是什么这里就填什么不然会出现很多意象不到的问题)

  config.members = [{_id:0,host:”172.27.1.216:2000”}, config.members[3], config.members[4]]

      rs.reconfig(config)//让配置生效,这里不需要加强制更新

最新发布

CentOS专题

关于本站

5ibc.net旗下博客站精品博文小部分原创、大部分从互联网收集整理。尊重作者版权、传播精品博文,让更多编程爱好者知晓!

小提示

按 Ctrl+D 键,
把本文加入收藏夹