我在三个不同的 Amazon 服务器实例上有一个三节点副本集(1 个主节点、1 个辅助节点、1 个仲裁器)。托管它们的服务器需要内存升级,因此我还需要关闭 MongoDB 实例。
我按以下顺序关闭了 MongoDB 实例:
- 中学
- 仲裁者
- 基本的
我使用下面的过程来关闭每台服务器
use admin
db.shutdownServer()
所有 MongoDB 实例都正确关闭,没有任何问题。到目前为止一切都很好。
亚马逊服务器升级后,我按以下顺序启动 MongoDB 实例:
- 仲裁者
- 中学
- 基本的
仲裁器处于仲裁器模式,辅助处于辅助模式,但令我惊讶的是,主机进入了“恢复”模式。
我不知道原因,为什么主机去“RECOVERING”。
我检查了日志。它显示没有要同步的成员...类似的东西
我的基本疑问是“PRIMARY 必须在 PRIMARY 中,直到副本集中发生重新配置”。
在服务器关闭期间我错过了一个步骤吗?或者我在重新启动服务器期间错过了一个步骤?
请对此有所了解,以便我如何克服这个问题。我需要经常关闭 MongoDB 服务器,因为亚马逊服务器正在进行大量升级。