许多维护工作不能在备份节点上完成 因为要写操作,也不能在主节点上进行,这就需要单机模式启动服务器, 是指重启成员服务器,让他成为一个单机运行的服务器,而不再是副本集中的一员(临时的) 在单机启动只要查看一下服务器的命令行参数 db.serverCmdLineopts() 然后启动时不要用replSet选项  制定一个别的端口好,保持dbpath不变.等维护完成后 在用启动副本集的方式启动mongod,mongodb会将维护期间落下的操作全部辅助过来,
 

可以随时修改副本集的配置 可以添加成员 删除成员 也可以修改已有的成员  很多操作都有对应的shell辅助函数  比如可以使用 rs.add为副本集添加新成员

rs.add("server-4:27017")
也可以以文档形式为新成员指定更复杂的配置
rs.add({"_id":4,"host":"iP:27017","priority":1.5,'hidden':true})
类似的 也可以从副本集中删除 成员
rs.remove("server-2:27017")
注意 删除成员时或者是除添加成员之外的其他改变副本集配置的行为 会砸shell中得到很多无法连接数据库的错误信息 这是正常的 这实际上说明配置修改成功了  重新配置副本集时 作为重新配置的最后一步
 主节点会关闭所有的连接 因此 shell中的练级会短暂断开 然后重新连接
可以通过rs.reconfig修改副本集成员的配置 修改副本集测成员配置时,有几个限制需要注意"
  1. 不能修改成员的_id
  2. 不能将接收rs.config命令的成员(通常为主节点) 的优先级设置为0
  3. 不能将总裁节点变为非仲裁节点 反之依然
  4. 不能将buildIndexes :false 的成员修改为 buildIndexes :true
重新配置副本集的时候  主节点需要先退化为普通的备份节点 以便接受新的配置 然后会恢复 要注意重新配置副本集之后 会短暂的没有主节点 之后会一切正常
 
下面是一个修改主机名的例子:
 
var config = rs=config()
config.members[1].host="server-2:27017"
rs.reconfig(config)
 
   一个副本集可以最多支持12个成员,但是只有7个成员可以参与投票。 如果要创建7个以上成员的副本集,只有7个成员可以拥有投票权,需要将其他成员的投票数量设置为0 
rs.add({"_id":4,"host":"iP:27017","votes":0}); [vot]
这样可以阻止这些成员在选举中主动票,虽然他们依然可以投否决票  尽量避免使用这个选项,应该只在创建包含7个以上成员的副本集或者希望阻止自动故障转移时 使用votes选项
 
修改成员的状态
把主节点变为备份节点  rs.stepDown(600)  这个命令可以让主节点退化为备份节点 10分钟,  不指定时间是60S
如果需要对主节点进行维护 又不希望其他成员成为主节点, 可以在每个备份节点上执行下面这个命令
阻止选举  rs.freeze()  接收一个单位是秒的时间  表示多长时间内保持备份节点状态  维护完成后  可以再次执行该命令  时间设置为0 即可.

mongodb管理副本集(持续更新中)的更多相关文章

  1. 安装 Ubuntu 21.04 后必备的绝佳应用大合集(持续更新中)

    @ 目录 一.Google Chrome 浏览器 1.下载 2.安装 3.设置搜索引擎 二.火焰截图(替代QQ截图) 1.简介: 2.安装: 3.设置快捷键: 三.VLC视频播放器(替代Potplay ...

  2. ubuntu相关软件合集(持续更新中)

    本人使用的是Ubuntu-Kylin14.04,自带了日历.输入法.优客助手等易于上手的应用.省的每次安装完原生的系统再麻烦的安装,下面介绍默认应用外的相关常用软件: 一.Keylock Applic ...

  3. PTA|团体程序设计天梯赛-练习题目题解锦集(C/C++)(持续更新中……)

    PTA|团体程序设计天梯赛-练习题目题解锦集(持续更新中) 实现语言:C/C++:      欢迎各位看官交流讨论.指导题解错误:或者分享更快的方法!! 题目链接:https://pintia.cn/ ...

  4. 【前端】Util.js-ES6实现的常用100多个javaScript简短函数封装合集(持续更新中)

    Util.js (持续更新中...) 项目地址: https://github.com/dragonir/Util.js 项目描述 Util.js 是对常用函数的封装,方便在实际项目中使用,主要内容包 ...

  5. Mongodb主从复制/ 副本集/分片集群介绍

    前面的文章介绍了Mongodb的安装使用,在 MongoDB 中,有两种数据冗余方式,一种 是 Master-Slave 模式(主从复制),一种是 Replica Sets 模式(副本集). Mong ...

  6. 白话kubernetes的十万个为什么(持续更新中...) - kubernetes

    Kubernetes简称? 答:k8s或kube. Kubernetes是什么? 答:由Google开发的一个强大的平台,可以在集群环境中管理容器化应用程序.本质上是一种特殊的数据库,里面存储的是能够 ...

  7. 史上最全的spark面试题——持续更新中

    史上最全的spark面试题——持续更新中 2018年09月09日 16:34:10 为了九亿少女的期待 阅读数 13696更多 分类专栏: Spark 面试题   版权声明:本文为博主原创文章,遵循C ...

  8. Pig基础学习【持续更新中】

    *本文参考了Pig官方文档以及已有的一些博客,并加上了自己的一些知识性的理解.目前正在持续更新中.* Pig作为一种处理大规模数据的高级查询语言,底层是转换成MapReduce实现的,可以作为MapR ...

  9. Pig语言基础-【持续更新中】

      ***本文参考了Pig官方文档以及已有的一些博客,并加上了自己的一些知识性的理解.目前正在持续更新中.***   Pig作为一种处理大规模数据的高级查询语言,底层是转换成MapReduce实现的, ...

随机推荐

  1. ZigBee学习三 UART通信

    ZigBee学习三 UART通信 在使用串口时,只需掌握ZigBee协议栈提供的串口操作相关的三个函数即可. uint8 HalUARTOpen(uint8 port,halUARTCfg_t *co ...

  2. BZOJ 4070 [Apio2015]雅加达的摩天楼 ——分块 SPFA

    挺有趣的分块的题目. 直接暴力建边SPFA貌似是$O(nm)$的. 然后考虑分块,$\sqrt n$一下用虚拟节点辅助连边, 以上的直接暴力连边即可. 然后卡卡时间,卡卡空间. 终于在UOJ上T掉辣. ...

  3. webRTC前世今生

    WebRTC 的前世今生 本文由 rwebrtc 翻译 WebRTC 技术是激烈的开放的 Web 战争中一大突破.-Brendan Eich, inventor of JavaScript 无插件实时 ...

  4. include和require的区别误区

    面试时总会被问到include和require的区别,回答的时候一般也是有以下几种区别: 1.include引入文件的时候,如果碰到错误,会给出警告,并继续运行下边的代码. require引入文件的时 ...

  5. MFC设置对话框背景和边框颜色

    对于对话框,只需要重载默认的消息处理函数就行了: // 重载默认的消息处理函数,主要处理WM_MOVE WM_PAINT WM_NCPAINT WM_NCACTIVATE WM_NOTIFY这// 几 ...

  6. 如何在vue里实现同步阻塞请求,请求完成之前不加载页面或组件?

    https://segmentfault.com/q/1010000013787292 答案: getUserInfo函数数据请求下来,设置开关flag=true,页面最外层box v-if=&quo ...

  7. Fence(codeforces 232D)

    题意: 对于给定的a[1..n],定义区间[s,t]和[x,y]"匹配"当且仅当下列条件同时满足:1. t-s=y-x,即长度相同.3. t<x或s>y,即两区间没有交 ...

  8. HAOI2008题解

    又来写题解辣-然而并不太清楚题目排列情况...不管辣先写起来- T1:[bzoj1041] 题目链接:http://www.lydsy.com/JudgeOnline/problem.php?id=1 ...

  9. sql2008百万级数据排除重复信息

    --高性能排除重复select userid from table where userid in ( select userid from ( select userid, row_number() ...

  10. RocketMq使用注意事项

    Topic 一个Topic是一个主题.一个系统中,我们可以将消息划成Topic,这样,将不同的消息发送到不同的queue. Queue 一个topic下,我们可以设置多个queue,每个queue就是 ...