ZooKeeper集群节点数为什么是奇数个,且必须至少三个以上?

首先,ZooKeeper 是一个分布式的应用程序协调服务,作用就是为分布式应用提供一致性服务,应用场景有数据发布/订阅、命名服务、分布式协调/通知、分布式锁、分布式队列等。

为了实现上述的功能场景,就涉及到了 ZooKeeper 的一个选举,简单来说就是在众多机器中选举出一台机器作为“领导者”(leader)进行整个集群的统一管理。

所以在 ZooKeeper 的选举过程中,为了能够成功选举出 leader ,那就一定不能出现两台机器得票数一致的情况,所以在部署 ZooKeeper 集群的时候,节点数一定要为奇数,也就是 2n+1 台。

ZooKeeper 集群只有在机器数过半的情况下才能够正常工作,如果集群中只有两台机器在工作,只要其中出现一台机器宕机,那么剩下的那一台机器就不能正常工作,整个系统将会挂掉,因为最后所剩下的机器数是 1 ,1 并没有过半,也就是存活的机器必须大于 n+1 台,所以集群中至少需要3个或3个以上的节点。


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

阿鹏同学

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值