我有两个MongoDB实例运行在两个服务器上(instance1和instance2),它们被配置为一个副本集。Instance1是主要的,instance2是次要的。
当instance1被关闭时,instance2成为了主要的。但是,它们的优先级值都设置为1。因此,当instance1再次启动时,instance2仍然是主节点。
我更改了instance1=2和instance2=1的优先级值。如果instance1再次关闭,instance2将成为主值。当instance1再次启动时,这个新的优先级设置会确保instance1再次成为主优先级吗?
发布于 2017-02-27 13:06:04
是的,赋予instance1更高的优先级将使复制集重新选择instance1作为其重新加入时的主节点。有关详细信息,请参阅调整复制集成员的优先级和复制集选举上的文档:
成员优先级在复制集具有稳定的主节点后,该选举算法将作出“最大努力”尝试,使第二次具有最高优先级的可供调用的选举。成员优先权影响选举的时间和结果;优先权较高的二级选举比优先级较低的次级选举要早,而且获胜的可能性也更大。但是,即使有一个较高优先级的次要实例,也可以在短时间内选择一个较低优先级的实例作为主实例。复制集成员继续调用选举,直到可用的最高优先级成员成为主成员为止。
https://dba.stackexchange.com/questions/144727
复制相似问题