zookeeper 集群为啥是3个以上节点

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了zookeeper 集群为啥是3个以上节点相关的知识,希望对你有一定的参考价值。

因为在zookeeper的选举过程中,为了保证选举过程最后能选出leader就一定不能出现两台机器得票相同的僵局,所以一般就会要求zk集群的server数量一定要是奇数,也就是2n+1台。

并且,如果集群出现问题,其中存活的机器必须大于n+1台,否则leader就无法获得多数server的支持,系统就自动挂掉,所以一般是3个或者3个以上节点。

ZooKeeper是一个分布式的,开放源码的分布式应用程序协调服务,是Google的Chubby一个开源的实现,是Hadoop和Hbase的重要组件。它是一个为分布式应用提供一致性服务的软件,提供的功能包括:配置维护、名字服务、分布式同步、组服务等。目标就是封装好复杂易出错的关键服务,将简单易用的接口和性能高效、功能稳定的系统提供给用户。

ZooKeeper包含一个简单的原语集,提供Java和C的接口。ZooKeeper代码版本中,提供了分布式独享锁、选举、队列的接口,代码在zookeeper-3.4.3\\src\\recipes。其中分布锁和队列有Java和C两个版本,选举只有Java版本。

参考技术A 在zookeeper的选举过程中,为了保证选举过程最后能选出leader,就一定不能出现两台机器得票相同的僵局,所以一般的,要求zk集群的server数量一定要是奇数,也就是2n+1台,并且,如果集群出现问题,其中存活的机器必须大于n+1台,否则leader无法获得多数server的支持,系统就自动挂掉。所以一般是3个或者3个以上节点。本回答被提问者和网友采纳

为啥我的zookeeper集群模式跑不起来?

在zookeeper的选举过程中,为了保证选举过程最后能选出leader,就一定不能出现两台机器得票相同的僵局,所以一般的,要求zk集群的server数量一定要是奇数,也就是2n+1台,并且,如果集群出现问题,其中存活的机器必须大于n+1台,否则leader无法获得多数server的支持,系统就自动挂掉。所以一般是3个或者3个以上节点。 参考技术A 所有你需要让zookeeper管理的机器都需要安装zookeeper在zoo.cfg中也就得写上对应的ip也就是说你四台机器都得安装zk配置zoo.cfg

以上是关于zookeeper 集群为啥是3个以上节点的主要内容,如果未能解决你的问题,请参考以下文章

zookeeper相关

为啥我的zookeeper集群模式跑不起来?

zookeeper安装

Zookeeper学习

zookeeper集群节点数为啥是奇数个

zook主要有哪些功能