Zookeeper简介:
1.什么是Zookeeper?
ZK是一个高效的分布式协调服务,他暴露了一些公用服务,比如命名、配置管理,同步控制,群组服务等,我们可以使用ZK实现比如达成共识,集团管理,leader选举等。
2.设计目标
简单:ZK中的namespace组织结构类似与标准的文件系统,通过这些共享的有层次的namespace来互相协调分布式中的多个进程,这些namespace由Znodes组成,ZK数据被保存在内存中,这也意味着ZK将可以达到较高的吞吐量/较低的延迟。
ZK的核心目标就是高性能,高可用,严格有序的存取。
高性能标志着ZK可以使用在大规模分布式环境中;
高可用标志着ZK避免单点故障,具有较强的容错能力;
严格有序意味着客户端可以实现复杂的同步。
复制:ZK的数据将会在ZK Cluster中的每台机器上协作复制(备份),构成ZK服务的机器必须能够互相感知对方。他们保持了一个内存视图状态,同事伴随着tnxlog和snapshot的持久存储。只要大部分server有效,那么ZK服务也是有效的。客户端只与一个ZKserver 建立连接,client通过建立的TCP连接来进行请求,响应,获取事件,发送心跳等。如果此TCP连接失效,Client将会尝试连接其他的ZKserver.
全序性:对于每个update请求,ZK都会为生成唯一的zid来表示其事务的顺序,接下来的操作可以使用zid的顺序实现同步原语(队列)。
高效快速:ZK在“读主导”的应用中表现的非常优秀。ZK应用可以运行在数台机器上,并且在read远大于write的场景中,是非常合适的,通常这个比例为10:1.
3.Zookeeper server 组成
ZK server 根据其身份特性分为三种:leader,follower,Observer,其中follower和Observer又统称Learner(学习者)。
leader : 负责客户端的writer类型请求.
follower: 负责客户端的reader类型请求,参与leader选举等。
Observer:特殊的“follower”,其可以接受客户端reader请求,但不参与选举。(扩容系统支持能力,提高了读取速度。因为它不接受任何同步的写入请求,只负责与leader同步数据)
4.数据模型
1.每个子目录项如nameservice 都被称为Znode,这个znode是被它所在的路径唯一标识,如Server1这个znode的表识为/nameservice/server1
2.znode可以有子节点目录,并且每个znode可以存储数据,注意EPHEMERAL类型的目录节点不能有子节点目录,
3.znode是有版本的,每个znode中存储的数据可以有多个版本,也就是一个访问路径可以存储多份数据
4.znode可以是临时节点,一旦创建这个znode的客户端与服务器失去联系,这个znode也将自动删除,ZK的客户端和服务器通信使用长连接方式,每个客户端和服务器通过心跳来保持连接,这个连接状态称为sesion,如果znode是临时节点,这个session失效,znode也就删除了
5.znode的目录名可以自动编号,如App1已经存在,再创建的话,将会自动命名为App2.
6.znode 可以被监控,包括这个目录节点中存储的数据修改,子节点目录的变化等,一旦变化可以通过设置监控的客户端,这个是ZK的核心特性,Zk的很多功能都是基于这个特性是实现的。
相关推荐
细细品味Hadoop_第16期_ZooKeeper简介及安装_V1.2细细品味Hadoop_第16期_ZooKeeper简介及安装_V1.2
zookeeper简介
ZooKeeper简介和概念知识
Zookeeper简介及核心概念
Zookeeper简介及核心概念.html
1 ZooKeeper 简介.md
zookeeper简介(1)共3页.pdf.zip
zookeeper简介(3)共2页.pdf.zip
zookeeper的介绍和安装步骤,可供初学者了解zookeeper,还有安装步骤
【大数据入门笔记系列】第二节 Zookeeper简介前言Zookeeper简介应用场景实质作用选举方式方式一(初次启动)方式二(宕机选举)脑裂问题跳转 前言 上一节介绍了,Zookeeper是一种分布式的、开放源码的分布式应用程序...
NULL 博文链接:https://chengjianxiaoxue.iteye.com/blog/2168799
zookeeper简介 zookeeper数据模型 zookeeper单机安装 zookeeper常用shell命令 zookeeper的Acl权限控制 zookeeper的javaApi zookeeper 事件监听机制 zookeeper 集群搭建 一致性协议:zab协议 zookeeper的leader选举 ...
使用Java API操作zookeeper ,包括增删改查操作 事件监听等 包含相应的jar
ZooKeeper入门简介及配置使用 ZooKeeper 是⼀一个为分布式应⽤用所设计的分布的、开源的协调服务。分布式的应⽤用 可以建⽴立在同步、配置管理、分组和命名等服务的更⾼高级别的实现的基础之上。 ZooKeeper 意欲设计...
ZooKeeper简介 ZooKeeper:分布式应用的协调服务 ZooKeeper是一个分布式的开源协调服务,用于分布式应用程序。它公开了一组简单的原子操作,分布式应用程序可以构建这些原子操作,以实现更高级别的服务,以实现同步...
徐老师大数据-001.ZooKeeper简介.mp4、徐老师大数据-002.ZooKeeper下载与安装.mp4、徐老师大数据-003.ZooKeeper分布式集群配制与Leader宕机测试.mp4、徐老师大数据-004.ZooKeeper分布式集群配制与nc Linux命令的网络...
本书从Hadoop的缘起开始,由浅入深,结合理论和实践,全方位地介绍Hadoop这一高性能处理海量数据集的理想工具。全书涉及的主题包括:Haddoop简介;...ZooKeeper简介,最后还提供了丰富的案例分析。