美文网首页
zookeeper集群节点数为什么是奇数个

zookeeper集群节点数为什么是奇数个

作者: 撸完代码送快递 | 来源:发表于2019-11-04 15:46 被阅读0次

    zookeeper集群搭建的时候都是推荐奇数个节点,而且其leader选举机制要求,只有当前节点获得的票数 > 总票数/2的情况下才会晋升为leader节点(不是≥,是>!!!!!!!!!很重要)。主要原因如下:

    zookeeper集群
    1. 节省资源:

      • 上图集群由7个节点,选举投票时,需要大于7/2票,也就是4票可以选举出leader节点,最少要求5太机器正常,也就是最多允许3个节点宕机。
      • 如果这个集群由8个节点,则需要最少5个节点正常,同样也是允许3个节点宕机。

    所以,7个节点和8个节点的容错能力相同,所以选择7个节点的集群方案更加节省资源。

    2.防止脑裂造成集群不可用:
    上图集群中如果由于通信问题,使左侧与右侧失去联系,而同侧集群可以正常运行。此时由于只有只有7/2 + 1 = 4个节点投同一个节点时,才能选举出master。所以左侧集群还是可用的。不管如何划分,奇数个集群总是可用的。
    如果集群改为偶数个,假设是6个,如果三个集群“失联”,则直接就导致,剩下的3个集群无法选举出master,导致集群不可用!

    相关文章

      网友评论

          本文标题:zookeeper集群节点数为什么是奇数个

          本文链接:https://www.haomeiwen.com/subject/xoldbctx.html