Zookeeper为什么总是奇数个

zookeeper有这样一个特性:

【集群中只要有超过过半的机器是正常工作的,那么整个集群对外就是可用的】

也就是说如果有2个zookeeper,那么只要有1个死了zookeeper就不能用了,因为1没有过半,所以2个zookeeper的死亡容忍度为0;

同理,要是有3个zookeeper,一个死了,还剩下2个正常的,过半了,所以3个zookeeper的容忍度为1;

同理你多列举几个:2->0;3->1;4->1;5->2;6->2会发现一个规律,2n和2n-1的容忍度是一样的,

都是n-1,所以为了更加高效,何必增加那一个不必要的zookeeper呢。

时间: 2024-10-11 07:22:20

Zookeeper为什么总是奇数个的相关文章

Zookeeper分布式集群安装与配置(CentOS6)

Zk是一个分布式服务框架,提供了协调分布式应用的基本服务,zk集群主要是保证服务的可靠性和稳定性,介绍一下集群的安装与配置,在安装之前需要安装好jdk,jdk的安装请网上查找相应的方法 一.zookeeper的下载 下载完成后,通过winscp工具将zookeeper-3.4.6.tar.gz上传至centos的/usr/local/src目录下 二.zookeeper的解压与安装 1.用putty工具连接centos,进入zookeeper-3.4.6.tar.gz的目录 [[email pr

搭建zookeeper管理集群

Zookeeper集群 一.实验环境 Zookeeper集群环境安装过程详解 Zookeeper是一个分布式开源框架,提供了协调分布式应用的基本服务,它向外部应用暴露一组通用服务--分布式同步(Distributed Synchronization).命名服务(Naming Service).集群维护(Group Maintenance)等,简化分布式应用协调及其管理的难度,提供高性能的分布式服务.ZooKeeper本身可以以单机模式安装运行,不过它的长处在于通过分布式ZooKeeper集群(一

ZooKeeper(3)-内部原理

一. 节点类型 二. Stat结构体 1)czxid-创建节点的事务zxid 每次修改ZooKeeper状态都会收到一个zxid形式的时间戳,也就是ZooKeeper事务ID. 事务ID是ZooKeeper中所有修改总的次序.每个修改都有唯一的zxid,如果zxid1小于zxid2,那么zxid1在zxid2之前发生. 2)ctime - znode被创建的毫秒数(从1970年开始) 3)mzxid - znode最后更新的事务zxid 4)mtime - znode最后修改的毫秒数(从1970

zookeeper原理与安装

Zookeeper是一个开源的分布式的,为分布式应用提供协调服务的Apache项目. 1.   Zookerper工作机制 2.   Zookeeper工作特点 3.   Zookeeper文件系统:znode不区分文件与文件夹 4.   Zookeeper配置文件参数: tickTime =2000:通信心跳数,Zookeeper服务器与客户端心跳时间,单位毫秒 Zookeeper使用的基本时间,服务器之间或客户端与服务器之间维持心跳的时间间隔,也就是每个tickTime时间就会发送一个心跳,

大数据框架开发基础之Zookeeper入门

Zookeeper是Hadoop分布式调度服务,用来构建分布式应用系统.构建一个分布式应用是一个很复杂的事情,主要的原因是我们需要合理有效的处理分布式集群中的部分失败的问题.例如,集群中的节点在相互通信时,A节点向B节点发送消息.A节点如果想知道消息是否发送成功,只能由B节点告诉A节点.那么如果B节点关机或者由于其他的原因脱离集群网络,问题就出现了.A节点不断的向B发送消息,并且无法获得B的响应.B也没有办法通知A节点已经离线或者关机.集群中其他的节点完全不知道B发生了什么情况,还在不断的向B发

zookeeper的安装、

Zookeeper的概述: ZooKeeper是一个开源的分布式的,为分布式应用提供协调服务的Apache项目. ZooKeeper从设计模式角度来理解:是一个基于观察者模式设计的分布式服务管理框架,它负责存储和管理大家都关心的数据,然后接受观察者的注册,一旦这些数据的状态发生变化,ZooKeeper就将负责通知已经在ZooKeeper上注册的那些观察者做出相应的反应. 例如:一组服务器集群.一组客户端,全部通过ZooKeeper注册,如果一台服务节点宕机,则ZooKeeper集群可以监测宕机几

Dubbo与Zookeeper开发

1.Dubbo 1.1RPC RPC全称是remote procedure call,即远程过程调用.比如有两台服务器A和B,它们上面分别部署了一个服务.此时B服务器想调用A服务器上提供的方法,由于不在同一台服务器,就不能直接调用,那就需要通过网络的方式来表达调用的语义和传达调用的数据.需要注意的是它不是一种技术,而是远程过程调用. 1.2Dubbo基本介绍 官网:http://dubbo.apache.orgDubbo是一个高性能的java RPC框架.它的三大核心能力是:面向接口的远程方法调

Hadoop 2.x 之 HA 简介

HA结构图 HA是用来解决单点故障问题 DN: DataNode,启动时会往所有的NameNode汇报 NN: NameNode(主 Active(一个)   备 Standby(可以有多个)) JournalNodes:JournalNodes就是用来存储元数据的,是一个集群,节点数量必须为奇数个. 如果主NameNode的元数据存在本地磁盘中的fsimage及edits文件中,如果主挂掉了,那么备用NameNode将无法从主NameNode获取元数据文件,所以元数据文件不能存储在主NameN

学习日志---hdfs配置及原理+yarn的配置

筛选算法: 关注度权重公式: W = TF * Log(N/DF) TF:当前关键字在该条记录中出现的总次数: N:总的记录数: DF:当前关键字在所有记录中出现的条数: HDFS的  namenode HA和namenode Federation (1)解决单点故障:     使用HDFS HA :通过主备namenode解决:如果主发生故障,则切换到备上. (2)解决内存受限:     使用HDFS Federation,水平扩展,支持多个namenode,相互独立.共享所有datanode