• Mongodb副本集的维护


    Mongodb副本集配置好以后,少不了维护,维护内容也不是很多,主要是现在状态和增删节点等。

    在说维护之前,得先说说Mongodb副本集的同步机制。

    数据复制的目的是使数据得到最大的可用性,避免单点故障引起的整站不能访问的情况的发生,Mongodb的副本集在同一时刻只有一台服务器是可以写的,副本集的主从复制也是一个异步同步的过程,是slave端从primary端获取日志,然后在自己身上完全顺序的执行日志所记录的各种操作(该日志是不记录查询操作的),这个日志就是local数据库中的oplog.rs表,默认在64位机器上这个表是比较大的,占磁盘大小的5%,oplog.rs的大小可以在启动参数中设定:--oplogSize 1000,单位是M。

    在生产环境中建议此值设置的大一些,以防止无法同步的情况发生。

    现在开始正式说维护命令

    1,查看同步状态

      命令db.printSlaveReplicationInfo()可以查看slave延迟情况。

    source:从库的ip和端口

    syncedTo:目前的同步情况,以及最后一次同步的时间

    从上面可以看出,在数据库内容不变的情况下他是不同步的,数据库变动就会马上同步。

    2增删节点

      1,增加节点

       Mongodb可以做到在不停机的情况下无缝增加节点。命令也很简单,两步就可以完成

        1,启动新的Mongodb,并指定副本集

        2,把副本集添加到"串"中

    启动一个新的进程,我用的mongodb4这个目录,端口号4444,然后运行添加命令。

    命令的格式是:rs.add("ip+端口号")

    注意:这个命令只能用在主库中,可以看到我重新连接到了端口号是3333的主库。

    然后查看下状态

      可以看到4444已经做为从库添加到了副本集。

      大家也可以发现这里多出了一个属性:stateStr和errmsg,这两个属性表示当前同步的状态,到了什么进度

     stateStr:RECOVERING//表示正在同步数据,

                  SECONDARY//表示已经成功同步,可以正常使用。

          2,删除节点

              出于种种原因把,现在准备删除一个节点,空闲出一台服务器

            这时使用命令rs.remove("IP+端口")即可移除该节点

           现在我移除刚刚添加上的4444这个节点

    4444已经被删除。

    副本集的基本维护也就这么多了,能满足大部分的需求。

  • 相关阅读:
    软件行业从事人员,计算机基础须知(三)---DOS命令相关
    软件行业从事人员,计算机基础须知(二)---系统介绍和进制转换说明
    软件行业从事人员,计算机基础须知(一)
    python操作数据库步骤以及操作过程中经常出现的异常
    selenium中验证码识别简单封装
    selenium对验证码识别校验解决方法
    retina屏幕截取验证码
    Nginx的负载均衡的那点事
    子网划分
    iptables 规则整理
  • 原文地址:https://www.cnblogs.com/spnt/p/2608420.html
Copyright © 2020-2023  润新知