文档章节

副本集管理

晨曦断罪
 晨曦断罪
发布于 2016/12/28 12:47
字数 769
阅读 3
收藏 0

1.以单机模式启动成员

当要对一个副本集中的数据进行维护时,既不能在主节点上进行,又不能在备份结点上进行(不能写),所以可以使用单机模式启动成员。
以单机模式启动服务器前,先查看服务器的命令参数。

db.serverCmdLineOpts()

要使此副本集中的其他成员无法连接此节点,只需更改此节点的监听端口

mongod –dbpath=D:/db –port 20000

2.副本集配置

创建副本集在前面已经介绍过,这里不再赘述。重要的是如何修改副本集成员
举个栗子:

rs.add(“spock:27017”) //添加新节点
rs.remove(“spock:27017”) //删除节点(按照host的字段值进行删除)
rs.add({“_id”:5,”host”:”spock:27017”,”priority”:0,”hidden”:”true”})
//可以通过此函数添加成员的复杂配置

另外,也可以通过rs.reconfig修改副本集成员的配置。但需要注意:

  • 不能修改”_id”的值
  • 不能将接受rs.reconfig命令的成员(通常是主节点)的优先级设为0
  • 不能将仲裁节点更改为非仲裁节点,反过来也亦然
  • 不能将“buildIndexes”:“false”的成员修改为“buildIndexes”:“false”

副本集最多只能拥有12个成员 其中 只有 7 个成员才能拥有投票权

设置

rs.add({“_id”:5,”host”:”server0:27017”,”votes”:0})

若希望某个成员优先被选举成为主节点,应该使用优先级(priority)

3.修改成员状态

rs.stepDown() //降级1min

rs.stepDown(600) //降级10分钟

rs.freeze(10000) //限制使之不能主动成为主节点10000s

rs.freeze(0) // 解冻
可以通过此种方式指定主节点 先把其他的冻结,只剩此节点 解冻

4.进入维护模式

当有读请求进入备份节点且拿到久数据,且不可忍耐(落后30s等),则可使此节点强制进行维护状态

db.dminCommand({“replSetMaintenanceMode”:true}) //进入维护模式
db.dminCommand({“replSetMaintenanceMode”:false}) //解除维护模式

5.复制图谱

db.adminCommand({replSetGetStatus:1})[‘syncingTo’]
server0:27017 //此为此节点的复制源

若所有节点在一个数据中心,则会产生无法忍受的延时
(A->B->C->D->E)
当应用程序在E上读数据,则不可忍受,可以通过:

db.adminCommand({“replSetSyncFrom”:”server0:27017”})
指定复制源为server0:27017

但一旦开始指定复制源,则会产生复制链
(A->B->C->A)

可以禁用复制链,所有数据均在主节点上复制
在config.setting.allowChaining设置为false(默认为true)

6.调整oplog.rs的大小


  • 当前服务器若是主节点,让它降级退位
  • 关闭当前服务器
  • 将当前服务器以单机方式启动
  • 临时将oplog中的最后一条insert操作保存下来

use local
var cursor = db.oplog.rs.find({“op”:”i”})
var lastInsert = cursor.sort({“$natural”:-1}).limit(1).next()
db.tempLastOp.save(lastInsert)
db.tempLastOp.findOne()

  • 删除当前oplog

    db.oplog.rs.frop()

  • 创建一个新的oplog

    db.createCollection(“oplog.rs”,{“capped”:true,”size”:10000})

  • 将最后一条数据写入oplog

    var temp = db.tempLastOp.findOne()
    db.oplog.rs.insert(temp)
    db.oplog.rs.findOne() //确保成功

  • 将当前服务器座位副本集成员重新启动
  • © 著作权归作者所有

    晨曦断罪
    粉丝 0
    博文 16
    码字总数 12398
    作品 0
    石家庄
    程序员
    私信 提问
    【MongoDB】管理命令收集

    [TOC] 慢查询 任务管理 停止超过一定时间的查询 停止对某个表的查询 找出某种类型的任务 另一种思路的任务查看 副本集管理 修改主机名 分片管理 修改primary shard MongoDB 分片集群创建数据...

    对唔住
    2018/07/29
    0
    0
    【PgMP免费讲座】PgMP项目集管理与实践创新

    中国经济正面临从原来的粗放型经济到未来的集约型经济形式的转变,从原来的世界工厂形式到未来的创新性形式的转变。在新的经济发展背景下,我们需要关注什么? þ在项目管理过程中,如何进一...

    changewayPMP
    2013/11/28
    2
    0
    【项目管理PgMP免费讲座】PgMP项目集管理与实践创新

    【分享内容】 1、什么是PgMP——实例分析项目集管理与项目管理的差异 2、项目集管理发展历程—–从第一版到第三版 3、中国本土化环境下的项目集实践创新及个人职业发展 4、PgMP认证培训与...

    changewayPMP
    2014/03/17
    3
    0
    RDF API for PHP

    RAP - RDF API for PHP 资源描述框架(RDF)是用于描述网络资源的 W3C 标准,比如网页的标题、作者、修改日期、内容以及版权信息。 RAP是一套基于 GNU LESSER GENERAL PUBLIC LICENSE (LGPL)...

    匿名
    2010/12/30
    1K
    0
    入门系列之Kubernetes部署

    欢迎大家前往腾讯云+社区,获取更多腾讯海量技术实践干货哦~ 本文由林岑影 发表于云+社区专栏 容器实例服务(Container Instance Service , CIS)可以帮您在云上快捷、灵活的部署容器,让您专...

    腾讯云加社区
    2018/07/13
    0
    0

    没有更多内容

    加载失败,请刷新页面

    加载更多

    64.监控平台介绍 安装zabbix 忘记admin密码

    19.1 Linux监控平台介绍 19.2 zabbix监控介绍 19.3/19.4/19.6 安装zabbix 19.5 忘记Admin密码如何做 19.1 Linux监控平台介绍: 常见开源监控软件 ~1.cacti、nagios、zabbix、smokeping、ope...

    oschina130111
    昨天
    64
    0
    当餐饮遇上大数据,嗯真香!

    之前去开了一场会,主题是「餐饮领袖新零售峰会」。认真听完了餐饮前辈和新秀们的分享,觉得获益匪浅,把脑子里的核心纪要整理了一下,今天和大家做一个简单的分享,欢迎感兴趣的小伙伴一起交...

    数澜科技
    昨天
    26
    0
    DNS-over-HTTPS 的下一代是 DNS ON BLOCKCHAIN

    本文作者:PETER LAI ,是 Diode 的区块链工程师。在进入软件开发领域之前,他主要是在做工商管理相关工作。Peter Lai 也是一位活跃的开源贡献者。目前,他正在与 Diode 团队一起开发基于区块...

    红薯
    昨天
    43
    0
    CC攻击带来的危害我们该如何防御?

    随着网络的发展带给我们很多的便利,但是同时也带给我们一些网站安全问题,网络攻击就是常见的网站安全问题。其中作为站长最常见的就是CC攻击,CC攻击是网络攻击方式的一种,是一种比较常见的...

    云漫网络Ruan
    昨天
    27
    0
    实验分析性专业硕士提纲撰写要点

    为什么您需要研究论文的提纲? 首先当您进行研究时,您需要聚集许多信息和想法,研究论文提纲可以较好地组织你的想法, 了解您研究资料的流畅度和程度。确保你写作时不会错过任何重要资料以此...

    论文辅导员
    昨天
    44
    0

    没有更多内容

    加载失败,请刷新页面

    加载更多

    返回顶部
    顶部