如果三个节点中的一个失败,zookeeper如何变为高可用性

时间:2015-08-22 04:55:49

标签: apache-zookeeper high-availability

如果我有三个zookeeper节点,一个领导者和两个粉丝。如果领导人死了,会发生什么,是否会从剩下的两个领导者中选出新的领导者?好吧,让我们假设一个人被选为新的领导者,如果新领导人也去世了。最后一个还在服务吗?谢谢!

1 个答案:

答案 0 :(得分:6)

在ZooKeeper集群中,如果领导者死亡,其他剩余节点将在他们自己之间选出一个领导者。这通常会很快,并且客户端不应该有明显的中断。连接到死亡领导者的客户端将重新连接到其他节点之一。

至于第二个问题 - 在3节点集群中,如果其中2个节点死亡,则第三个节点将不提供请求。原因是剩下的一个节点不知道它是否实际上是唯一的幸存者,或者它是否已经与其他幸存者分开。此时继续提供请求可能会导致大脑分裂并违反ZooKeeper核心保证。