关闭单个MongoDB复制集成员



我有一个MongoDB数据库,其中有4个副本集成员。我只需要关闭一个复制副本。如果我执行这个命令:

db.shutdownServer()

当我连接到要关闭的副本成员时,我可以安静地让其他成员继续工作吗?

如果您有4个投票成员,并且如果您关闭了SECONDARY成员,则在目标SECONDARY:上执行后,您的PRIMARY将继续为PRIMARY

use admin
db.shutdownServer()

p.S。这是在您为了维护而短时间关闭会员的情况下,通常情况下,4个有投票权的会员只允许1个会员同时关闭,如果一个会员出现问题,您将只有4个(50%<多数(中的2个有效投票会员,并且PRIMARY将切换到SECONDARY。从长远来看,最好按照@Alex Blex评论中的建议步骤删除该成员。

Total members     Allowed to be down at once(default voting config -> 1x vote each member )
in replicaSet     and still keeping PRIMARY online 
1                     0
2                     0 
3                     1
4                     1
5                     2
6                     2
7                     3

此外,最好在关闭成员之前提前将其重新配置为HIDDEN状态,以向应用程序隐藏该成员,并减少稍后启动过程中的问题。如果你只是想短时间停止它,不建议删除它,因为如果你再次添加它,稍后需要一些时间来初始化同步它。

最新更新