为什么zookeeper的节点配置的个数必须是奇数个

Posted 猿大侠

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了为什么zookeeper的节点配置的个数必须是奇数个相关的知识,希望对你有一定的参考价值。

选举机制(FastLeaderElection算法):sid最大且被超过集群中超过半数的机器拥护就会成为leader.
所以只有两种情况无法选出leader:
整个集群只有2台服务器(注意不是只剩2台,而是集群的总节点数为2)
整个集群超过半数机器挂掉。
所谓的偶数问题其实是另一个集群优化配置问题,即:集群的容灾数量=集群总节点数/2-1
假如集群有5节点,那么最多允许2个节点挂掉,如果有3节点挂了,那么整个集群的选举结果不会满足条件:集群中超过半数的机器拥护。
假如集群有6个节点,那么最多也只能挂掉2台,因为挂了3台时,选举结果也不会满足条件:集群中超过半数的机器拥护。
结果可以看出,多那一台用处并不大。所以集群总数推荐为奇数。

以上是关于为什么zookeeper的节点配置的个数必须是奇数个的主要内容,如果未能解决你的问题,请参考以下文章

Zookeeper 学习笔记之 节点个数

分布式存储的节点个数为什么必须是奇数

zookeeper简介及安装

zookeeper的安装

Zookeeper要安装在奇数个节点,但是为什么?

zookeeper集群节点数量为什么要是奇数?