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

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

原文地址:https://www.cnblogs.com/woofwoof/p/10074182.html

时间: 2024-10-16 03:22:39

为什么zookeeper的节点配置的个数必须是奇数个的相关文章

zookeeper多节点配置

zookeeper解压, 放到 /opt/zookeeper/ 下, 同目录再放一个 server1目录, 下面建data和log两个目录用于存放数据和日志 zoo.cfg [[email protected] conf]$ more zoo.cfg # The number of milliseconds of each tick tickTime=2000 # The number of ticks that the initial # synchronization phase can t

基于ZooKeeper构建大规模配置系统

通常大中型互联网公司都拥有较大规模.结构复杂的服务器集群.随着互联网迅速发展,用户访问量以及服务器规模的越来越大,Web应用项目需要部署在数目众多的服务集群上协同工作,才为用户提供更可靠.稳定.优质的互联网服务. 一般在互联网公司发展初期,服务器以及Web应用程序较少,项目的配置信息都会存放在文件中,比如把一些基本的数据库信息.缓存信息配置在文件中,如***.property文件中,每个项目都有自身单独的一份配置文件.这样的结构如下图所示: 随着互联网的快速发展和用户的访问量越来越大,一个Web

Zookeeper分布式安装配置

Zookeeper分布式安装配置 Zookeeper介绍 概述 1.ZooKeeper是一个分布式的,开放源码的分布式应用程序协调服务,是Google的Chubby一个开源的实现,是Hadoop和Hbase的重要组件.它是一个为分布式应用提供一致性服务的软件,提供的功能包括:配置维护.域名服务.分布式同步.组服务等. 2.ZooKeeper的目标就是封装好复杂易出错的关键服务,将简单易用的接口和性能高效.功能稳定的系统提供给用户. 3.ZooKeeper包含一个简单的原语集,提供Java和C的接

zookeeper集群配置与启动——实战

1,准备: A:三台linxu服务器: 10.112.29.177 10.112.29.172 10.112.29.174 命令 hostname 得到每台机器的 hostname vm-10-112-29-177 vm-10-112-29-172 vm-10-112-29-174 分别创建 /opt/zookeeper/server1/data /opt/zookeeper/server1/dataLog /opt/zookeeper/server2/data /opt/zookeeper/s

linux zookeeper 集群配置

                                                                                    linux zookeeper 集群配置 一.前期准备     1.下载zookeeper安装包: http://zookeeper.apache.org/releases.html     2.jdk安装:jdk-8u131-linux-x64.rpm 二.创建软件存放目录: zook     1.[[email protect

Ignite集群管理——基于Zookeeper的节点发现

Ignite支持基于组播,静态IP,Zookeeper,JDBC等方式发现节点,本文主要介绍基于Zookeeper的节点发现. 环境准备,两台笔记本电脑A,B.A笔记本上使用VMware虚拟机安装了Ubuntu系统C. 1. C安装Zookeeper 由于主要测试Ignite,这里仅仅简单安装一个zookeeper节点,下载zookeeper解压后,直接执行zookeeper目录下的bin/zkServer.sh start命令则成功启动zookeeper. 查看Ubuntu系统C的IP地址为1

中小企业openstack私有云布署实践【11.1 计算nova - compute节点配置(科兴环境)】

这里我只使用kxcompute1节点配置为示例,其它节点的配置基本是一样的,只是声明的管理IP不同而已 计算节点 # yum install openstack-nova-compute sysfsutils 修改配置文件 vi /etc/nova/nova.conf [DEFAULT] vcpu_pin_set = 4-31 resume_guests_state_on_host_boot=True rpc_backend = rabbit auth_strategy = keystone m

Windows Server 2008R2配置MySQL Cluster并将管理节点和数据节点配置成windows服务

说明:将mysql的管理节点和数据节点配置成windows服务是为了防止有人手误关闭管理节点或数据节点的dos命令窗口,管理节点或数据节点的命令窗口误关闭可能会造成mysql某台或某几台mysql不能被访问,注册成windows服务自动启动更安全可靠. 目录 操作系统:Windows Server 2008 R2 Enterprise VM1:192.168.220.103 管理节点(MGM), VM2:192.168.220.104数据节点(NDBD1),SQL节点(SQL1) VM3:192

在Ubuntu下配置运行Hadoop2.4.0单节点配置

还没有修改hosts,请先按前文修改. 还没安装java的,请按照前文配置. (1)增加用户并设立公钥: sudo addgroup hadoop sudo adduser --ingroup hadoop hduser su - hduser cat $HOME/.ssh/id_rsa.pub >> $HOME/.ssh/authorized_keys ssh localhost exit   (2)把编译完的hadoop复制到/usr/local目录,并修改目录权限 cp –r /root