PRIMARY将在重新启动后转换为RECOVERING

时间:2016-12-28 15:02:40

标签: mongodb mongodb-replica-set

我在三个不同的Amazon服务器实例上有一个三节点副本集(1个主节点,1个副节点,1个仲裁器)。托管它们的服务器需要内存升级,因此我也需要关闭MongoDB实例。

我按以下顺序关闭MongoDB实例:

  1. 二次
  2. 仲裁器
  3. 主要
  4. 我使用以下过程关闭每台服务器

    use admin
    db.shutdownServer() 
    

    所有MongoDB实例都正确关闭,没有任何问题。到目前为止一切都很好。

    在亚马逊服务器升级之后,我按以下顺序启动了MongoDB实例:

    1. 仲裁器
    2. 二次
    3. 主要
    4. 仲裁器处于仲裁模式,辅助处于辅助模式,但令我惊讶的是主机已进入“恢复”模式。

      我不知道原因,为什么主要机器去了“RECOVERING”。

      我检查了日志。它没有显示任何成员同步...像那样的东西

      我的基本疑问是“PRIMARY必须处于主要状态,直到在副本集中发生重新配置”。

      我在服务器关机期间错过了一步吗?或者我在重启服务器时错过了一步?

      请详细说明这一点,以便我如何克服这个问题。我需要经常关闭MongoDB服务器,因为亚马逊服务器上发生了很多升级。

1 个答案:

答案 0 :(得分:0)

在你开始制作副本之后,你" SECONDARY"成为"主要"而你" PRIMARY"不久之后可能处于次要状态。要将主要状态保留在您的主要状态",您必须将其优先级高于您的" SECONDARY"有

使用rs.conf()命令检查。

Check here how to force node to be primary