• mongodb replication set 主从切换


    今天被问到mongodb副本集主从切换的问题,然后发现没有相关命令的中文文档,这里翻译记录一下

    rs.stepDown()

    rs.stepDown(stepDownSecs, secondaryCatchUpPeriodSecs)

    指示副本集的主节点(primary node)成为从节点(secondary)。在主节点结束后,合格的从节点将会举行选举。

    该方法不会立即结束主节点。如果从节点中没有与主节点保持同步的节点,则主节点会等待secondaryCatchUpPeriodSecs(默认为10秒)以便从节点赶上。一旦出现可选择的从节点,该方法就会降级主节点。

    一旦降级,原来的主节点成为从节点的,并且不再有资格在stepDownSecs指定的剩余时间内再次成为主节点。

    注意

    该方法仅对主节点有效,如果在非主节点上运行,则会引发错误。

    执行过程:

    rs.stepDown()方法尝试终止长时间运行的用户操作,因为这些操作会阻止主服务器降级,如索引构建,写入操作或map-reduce作业。

    然后该方法启动一个追赶期,在此期间会等待SecondaryCatchUpPeriodSeconds所指定的时间(默认为10秒),使从节点追上主节点,变为最新。主节点只有在从节点追上主节点的时候才会进行降级操作,以此来防止回滚。

    如果在等待期结束时没有从节点符合此标准,则主节点不会降级,并且抛出方法错误。

    一旦主节点降级成功,该节点就不能在stepDownSecs所指定的时间内再次成为主节点,这个时间从节点开始接收到方法开始。 rs.stepDown()方法强制当前连接到数据库的所有客户端断开连接。这有助于确保客户端与副本集维持一个的准确视图(view)。

    由于断开连接包括用于运行方法的连接,因此如果方法成功完成,则无法检索方法的返回状态。如果错误发生,您只能检索方法的返回状态。在脚本中运行该方法时,脚本应考虑此行为。

    注意

    在接收到rs.stepDown()方法开始的时间段内,所有写入主节点的写入操作都会失败,直到选出新的主节点或者没有可用的从节点为止,原来的主节点才会恢复正常操作。写入失败的时间最长:

    secondaryCatchUpPeriodSecs(默认为10秒)+ electionTimeoutMillis(默认为10秒)。

    原文地址:https://docs.mongodb.com/manual/reference/method/rs.stepDown/

  • 相关阅读:
    Elasticsearch Server,2nd Edition pdf 翻译 中文
    为什么氦气会改变人的音色?
    intellij 文件太大,无法code assistant
    intellij idea rearrange code
    static变量、static方法之间的异同
    linux top 各个标识的含义 详解
    JAVA面向对象编程课程设计——多人扫雷对战
    递归法创建二叉树
    线性表总结
    线性表总结
  • 原文地址:https://www.cnblogs.com/S-tec-songjian/p/8823320.html
Copyright © 2020-2023  润新知