如何强制使mongodb replicaset实例从辅助实例

时间:2018-05-21 23:40:38

标签: mongodb amazon-web-services amazon-ec2

我将mongo1作为主要(优先级3),mongo 2(优先级2),mongo 3(优先级1)。我在一个区域有mongo 1和mongo2,我必须关闭两个实例以检查mongo3是否自动成为主要,但事实并非如此。我可以看到mongo1和mongo2无法访问,mongo 3仍然是次要的。我怎样才能将mongo 3作为主要版本。

1 个答案:

答案 0 :(得分:0)

实验中的

mongo 3永远不会成为主要因素,因为它无法看到法定人数的大部分。对于副本集成员成为主要成员,基本标准是它是多数组的一部分,否则它会认为,它是与多数组断开的(即网络分区 - {{1}在CAP定理中)因此仍然是次要的,以避免接受来自客户端的任何写入。

因此,如果你有一个3个成员的副本集,一个下降,另外两个应该能够相互交谈以确定它们构成了多数。出于同样的原因,不建议使用具有偶数成员的副本集。