生产环境不建议仅使用PRIMARY-SECONDARY模式

当primary挂掉,并且无法恢复时,可以把secondary提升为主节点。

注意:此时从节点可能有部分数据未同步过来,部分数据可能丢失。

1、在secondary节点删除挂掉的primary节点

使用rs.conf查看当前配置

c = rs.conf()

输出内容:

{
"_id" : "rd_repl",
"version" : 133334,
"protocolVersion" : NumberLong(1),
"members" : [
{
"_id" : 1,
"host" : "10.0.0.1:2717",
"arbiterOnly" : false,
"buildIndexes" : true,
"hidden" : false,
"priority" : 3,
"tags" : { },
"slaveDelay" : NumberLong(0),
"votes" : 1
},
{
"_id" : 2,
"host" : "10.0.0.2:2717",
"arbiterOnly" : false,
"buildIndexes" : true,
"hidden" : false,
"priority" : 4,
"tags" : { },
"slaveDelay" : NumberLong(0),
"votes" : 1
}
],
"settings" : {
"chainingAllowed" : true,
"heartbeatIntervalMillis" : 2000,
"heartbeatTimeoutSecs" : 10,
"electionTimeoutMillis" : 10000,
"catchUpTimeoutMillis" : -1,
"catchUpTakeoverDelayMillis" : 30000,
"getLastErrorModes" : { },
"getLastErrorDefaults" : {
"w" : 1,
"wtimeout" : 0
},
"replicaSetId" : ObjectId("5ba492935fb60fd88fcab516")
}
}

比如要删除members第一个节点:

{
"_id" : 1,
"host" : "10.0.0.1:2717",
"arbiterOnly" : false,
"buildIndexes" : true,
"hidden" : false,
"priority" : 3,
"tags" : { },
"slaveDelay" : NumberLong(0),
"votes" : 1
}

执行mongodb的命令:

c = rs.conf()
c.members.splice(0,1)
# splice的第一个参数表示要删除的数组元素的下标

2、重新配置mongo

rs.reconfig(c, {"force":true})
# c就是上面修改后的配置,加force参数是因为secondary默认没有执行此命令的权限

最新文章

  1. Java基本概念(2)J2EE里面的2是什么意思
  2. Canvas 内部元素添加事件处理
  3. 3.openstack之mitaka搭建keystone认证服务
  4. 自动化环境robot framework安装中问题解决
  5. top free综合监控工具
  6. kvm与selinux
  7. UIProgressView[进度条][一般型];UIStepper步数器][事件驱动型]
  8. #BeginLibraryItem 的疑问...
  9. QT5.1.0,QT4.8.0以及VC2010、VC2012的测试对比
  10. IO流输入 输出流 字符字节流
  11. github 快速部署
  12. Django框架第一篇基础
  13. node.js爬取数据并定时发送HTML邮件
  14. php 日期格式转换万能公式
  15. JavaScript -- Window-Blur
  16. CSS3d 基础
  17. docker学习-docker镜像
  18. h5+js随机拖动鼠标产生动画效果
  19. Spring-boot CLI下载
  20. arraylist和array的不同之处

热门文章

  1. Animate.css(一款有意思的CSS3动画库)
  2. U3D Transform用法
  3. [转]Angular2 使用管道Pipe以及自定义管道格式数据
  4. 通过swagger将API业务版本号与Gitlab代码版本号绑定
  5. linux 系统filezilla无法上传文件 553 Could not create
  6. JqGrid: paging int asp.net
  7. 2017-07-20 在Maven Central发布中文API的Java库
  8. 【转】ASP.NET Core 依赖注入
  9. 定时器setTimeout实现函数节流
  10. redis介绍 (8) window 下redis的集群(cluster命令)