Zookeeper 为什么要安装奇数节点

来源:互联网 发布:算法工程师笔试考什么 编辑:程序博客网 时间:2024/06/04 18:52

我们都知道,Zookeeper要安装在奇数个节点,但是为什么?

Zookeeper的大部分操作都是通过选举产生的。比如,标记一个写是否成功是要在超过一半节点发送写请求成功时才认为有效。同样,Zookeeper选择领导者节点也是在超过一半节点同意时才有效。最后,Zookeeper是否正常是要根据是否超过一半的节点正常才算正常。这是基于CAP的一致性原理。

现在假如有一个6个节点的Zookeeper集群,根据以上规则:至少一半以上的节点正常集群才算正常,那么此种情况下最多只能允许2个节点失败,即失效容忍度为2。

假如有一个5个节点的Zookeeper集群,根据以上规则,仍然是允许2个节点失败。

因此,从以上例子来看,安装5个节点和6个节点的Zookeeper没有区别,因为失效节点的容忍度是一致性的,那么这样的话,就没有必要多安装一个节点了。

综上,我们通常说Zookeeper安装在2N-1个节点。

原创粉丝点击