ZooKeeper 选举的过半机制防止脑裂

结论:

Zookeeper采用过半选举机制,防止了脑裂。

原因:

如果有5台节点,leader联系不上了,其他4个节点由于超过半数,所以又选出了一个leader,当失联的leader恢复网络时,发现集群中已经有了leader,会把自己降为flower,防止出现两个leader。

和NameNode不同的是,zookeeper是自己维护选举的,所以可以在程序中加判断避免,而NN是依赖zookeeper选举的,所以NN并不知道出现了脑裂。

NN不能自己维护选举的原因是:NN为了保证可用性,而zookeeper为了选举,会牺牲可用性。

你可能感兴趣的:(大数据,zookeeper,大数据)