博客
关于我
MongoDB 维护Replica Set
阅读量:753 次
发布时间:2019-03-23

本文共 1296 字,大约阅读时间需要 4 分钟。

MongoDB中Replica Set的配置与操作指南

在每个MongoDB实例中,本地数据库(local)存储Replication进程的信息和本地数据。local数据库的数据不会被Replication复制到其他实例。如果需要存储不会被复制的集合和数据,可以将它们放在local数据库中。

MongoDB Shell提供rs命令组件,用于维护Replica Set。

一、Replica Set配置

  • 查看Replica Set配置信息
  • Replica Set的配置信息存储在local.system.replset集合中,配置信息相同的成员共享同一个集合,不能直接修改该集合,只能通过rs.initiate()初始化,rs.reconfig()重新配置。

    配置信息包括id值和member数组。重要参数包括priority、hidden、slaveDelay、votes、arbiterOnly和buildIndexes。

    1. 重新配置Replica Set
    2. rs.reconfig()支持在Primary节点或Secondary节点上执行,在Primary缺失时,可以使用force参数强制配置。示例:调整Priority属性。

      1. 增加成员
      2. 3.1 使用默认配置添加成员或arbiter

        rs.add("host:port")添加成员,rs.add("host:port", true)添加arbiter。

        3.2 使用自定义配置添加成员

        如添加延迟备份隐藏节点,属性设置:{_id:4, host: "host:port", priority:0, hidden:true, slaveDelay:3600, votes:0, buildIndexes:true, arbiterOnly:false}。

        1. 删除成员
        2. rs.remove("host")删除成员。

          5._MEMBER attribute修改

          二、Replica Set成员操作

        3. 冻结成员
        4. rs.freeze(seconds)使成员无法成为Primary。

          1. 退化Primary
          2. rs.stepDown(stepDownSecs, secondaryCatchUpPeriodSecs)将Primary退化为Secondary。

            1. 强制同步数据
            2. rs.syncFrom("host:port")强制同步。

              1. 绑定Slave节点
              2. rs.slaveOk()允许Slave节点访问数据。

                三、Replica Set状态查看

                状态包括set名称、state状态、成员详情、HeartbeatInterval、SyncTo目标。

                四、操作日志

                Replication基于oplog集合的复制。oplog记录操作,拆分多_doc命令执行。

              3. oplog特性
              4. oplog是特殊capped集合,存储操作日志,所有成员都有副本。默认大小5%磁盘空间(~1GB)。

                1. 修改oplog大小
                  • 单机模式重启:rs.stepDown()
                  • 备份oplog,重新创建
                  • 恢复Replica Set

                  三、开机日志

                  local.startup_log记录启动日志。

                  参考文档

    转载地址:http://qnfzk.baihongyu.com/

    你可能感兴趣的文章
    php查最大值,在PHP数组中查找最大值
    查看>>
    php标签筛选,关于PHP CodeIgniter框架中通过<a>标签和url做多条件分类筛选
    查看>>
    php根据年月日计算年龄
    查看>>
    RabbitMQ - 单机部署(超详细)
    查看>>
    php检查注册,PHP检查注册的电子邮件地址是一个’school.edu’地址
    查看>>
    php模拟发送GET和POST请求
    查看>>
    RabbitMQ - 以 MQ 为例,手写一个 RPC 框架 demo
    查看>>
    php模板引擎smarty
    查看>>
    php正则表达式模式
    查看>>
    php正则表达式的特殊字符含义
    查看>>
    PHP正则表达式获取武汉市的实时pm2.5数据并邮件发送phpmailer
    查看>>
    RabbitMQ + JMeter组合,优化你的中间件处理方式!
    查看>>
    PHP水仙花问题解法之一
    查看>>
    php没有解析是怎么回事,linux下php文件没有被剖析怎么办?_后端开发
    查看>>
    php注册页面实现注册后跳转页面
    查看>>
    PHP消息队列的实现方式与详解,值得一看
    查看>>
    PHP混合Go协程并发
    查看>>
    php源码中如何添加滚动公告,给WordPress网站添加滚动公告的方法
    查看>>
    PHP源码安装后如何新增模块
    查看>>
    php源码详细安装步骤,linux下php源码安装步骤
    查看>>