许多维护工作不能在备份节点上完成 因为要写操作,也不能在主节点上进行,这就需要单机模式启动服务器, 是指重启成员服务器,让他成为一个单机运行的服务器,而不再是副本集中的一员(临时的) 在单机启动只要查看一下服务器的命令行参数 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. maven学习(四)——maven项目构建过程

    一.创建Maven项目 1.1.建立Hello项目 1.首先建立Hello项目,同时建立Maven约定的目录结构和pom.xml文件 Hello | --src | -----main | ----- ...

  2. 【bzoj4199】[Noi2015]品酒大会 后缀自动机求后缀树+树形dp

    题目描述(转自百度文库) 一年一度的“幻影阁夏日品酒大会”隆重开幕了.大会包含品尝和趣味挑战两个环节,分别向优胜者颁发“首席品酒家”和“首席猎手”两个奖项,吸引了众多品酒师参加. 在大会的晚餐上,调酒 ...

  3. SPOJ 422 Transposing is Even More Fun ——Burnside引理

    这题目就比较有趣了. 大概题目中介绍了一下计算机的储存方法,给一个$2^a*2^b$的矩阵. 求转置.但是只能交换两个数,求所需要的步数. 首先可以把变化前后的位置写出来,构成了许多的循环.左转将狼踩 ...

  4. Python Spider

    一.网络爬虫 网络爬虫又被称为网络蜘蛛(

  5. 《挑战程序设计竞赛》P196 铺砖问题

    题意:给定n*m格子,每个格子被染成了黑色或者白色,现在要用1*2的砖块覆盖这些格子,块与块不得重叠,且覆盖所有的白色格子,但不覆盖任意一个黑色格子,求一共有多少种覆盖方法. 思路:书上给的思路太巧妙 ...

  6. Page_Load与Page_PreRender的执行顺序

    原文发布时间为:2009-10-25 -- 来源于本人的百度文章 [由搬家工具导入] Page_PreRender 服务器控件将要呈现给其包含的 控件时发生。简单的理解为page中的控件渲染调用此事件 ...

  7. 给页面上所有的a标签增加随机数每次点击保证最新

    $(document).click(function(){ $("a").each(function(){ if($(this).parent().parent().hasClas ...

  8. hdu 6218 Bridge 线段树 set

    题目链接 题意 给一个\(2\)x\(n\)的矩阵,每个格子看成一个点,每个格子与相邻的格子间有边.现进行一些加边与删边操作,问每次操作后图中有多少条割边. 思路 参考 https://www.cnb ...

  9. 交叉编译x264和ffmpeg

    1.x264 ./configure --host=arm-hisiv300-linux CC=arm-hisiv300-linux-gcc --enable-pic --prefix=/usr/lo ...

  10. UnionFind(PYthon实现)

    UnionFind用于解决图的连通性问题,不需要给出具体路径的情况,可用来计算连通分支数 参考链接: https://blog.csdn.net/dm_vincent/article/details/ ...