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

    题目背景 滚粗了的HansBug在收拾旧英语书,然而他发现了什么奇妙的东西. 题目描述 udp2.T3如果遇到相同的字符串,输出后面的 蒟蒻HansBug在一本英语书里面找到了一个单词表,包含N个单词 ...

  2. P2165 [AHOI2009]飞行棋

    题目描述 给出圆周上的若干个点,已知点与点之间的弧长,其值均为正整数,并依圆周顺序排列. 请找出这些点中有没有可以围成矩形的,并希望在最短时间内找出所有不重复矩形. 输入输出格式 输入格式: 第一行为 ...

  3. vs2017 出现“文件中的类都不能进行设计,因此未能为该文件显示设计器”问题处理

    今天拷贝了以前的一个项目.打算出一个新版本. 但是拷贝了sln文件后,去除掉以前的项目,新增了一个  winfrom项目中 出现了:文件中的类都不能进行设计,因此未能为该文件显示设计器.错误 百度了一 ...

  4. hdu 4293 区间DP

    /* 题目大意:n个人分成若干组,每个人都描叙他们组前面有多少人后面有多少人, 求说真话的人最多有多少个. 解题思路:把同一组的人数统计起来他们组前面有x人后面有y人, num[x+1][n-y]表示 ...

  5. Cookies设置,获取,删除

    之前的博客,整理了下Session的存储方式和原理http://www.cnblogs.com/chinaagan/p/3200456.html. 本篇再次整理下Cookies的使用和原理. 参考博客 ...

  6. 2017-2018 ACM-ICPC, NEERC, Southern Subregional Contest A E F G H I K M

    // 深夜补水题,清早(雾)写水文 A. Automatic Door 题意 \(n(n\leq 1e9)\)个\(employee\)和\(m(m\leq 1e5)\)个\(client\)要进门, ...

  7. 最简单方法远程调试Python多进程子程序

    Python 2.6新增的multiprocessing,即多进程,给子进程代码调试有点困难,比如python自带的pdb如果直接在子进程代码里面启动会抛出一堆异常,原因是子进程的stdin/out/ ...

  8. python标准库:Configparser模块

    配置文件test.conf [section1] name = tank age = 28 [section2] ip = 192.168.1.1 port = 8080 示例 # -* - codi ...

  9. Bitmap类

    一.Bitmap类 Bitmap对象封装了GDI+中的一个位图,此位图由图形图像及其属性的像素数据组成.因此Bitmap是用于处理由像素数据定义的图像的对象.该类的主要方法和属性如下: 1. GetP ...

  10. Codeforces 371C Hamburgers (二分答案)

    题目链接 Hamburgers 二分答案,贪心判断即可. #include <bits/stdc++.h> using namespace std; #define REP(i,n) fo ...