Zookeeper从入门到精通教程_1_Zookeeper熟悉和用途综述_第1页
Zookeeper从入门到精通教程_1_Zookeeper熟悉和用途综述_第2页
Zookeeper从入门到精通教程_1_Zookeeper熟悉和用途综述_第3页
Zookeeper从入门到精通教程_1_Zookeeper熟悉和用途综述_第4页
Zookeeper从入门到精通教程_1_Zookeeper熟悉和用途综述_第5页
已阅读5页,还剩9页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、讲师:Cloudy(北风网版权所有) 1、Zookeeper熟悉和用途综述 Zookeeper用途场景用途场景 Zookeeper 分布式分布式服务框架是 Apache Hadoop 的一个子项目,主要是 用来解决分布式应用中经常遇到的一些数据管理问题, 如:集群管理、统一命名服务、分布式配置管理、分布式消息队列、 分布式锁、分布式通知协调等。 越来越多的分布式计算开始强依赖ZK,比如Storm、Hbase Zookeeper对分布式开发带来很多便利,用ZK的独有特性巧妙地解决 了很多难题; 很多分布式技术用到Zookeeper或多或少特性,尤其是 新生代分布式技术几乎都会依赖Zookeepe

2、r特性,如Hbase、火爆的 Storm。 为什么后来深入学习Zookeeper? 随着分布式应用的不断深入,需要对集群管理逐步透明化,监控集群和 作业状态;可以充分利用ZK的独有特性。熟悉程度决定应用高度。 课程主要内容:课程主要内容: Zookeeper详解、Client开发(Java)、场景案例开发、ZK集群Web界面、 Web监控 Java基础、Linux基础 Zookeeper 集群规模集群规模 机器节点100+ ZK Web界面界面, node-zk-browser Web展示 每个path 的属性和 数据 ZK集群监控集群监控taokeeper ZK体系结构体系结构 Server

3、端具有fast fail特性,非常健壮。无单点。不超过半数Server挂 掉不影响提供服务。Master/slave主流模式 轻量级内存数据 库 ZK 体系架构体系架构 数据模型、节点数据模型、节点 类似文件系统的目录树型结构,同Hadoop HDFS: 节点节点 /NameService/Server1 唯一路径(Node),且 携带数据 zookeeper名字空间由节点znode构成,其组织方式类似文件系统,其中各个节点 相当于目录和文件,通过路径作为唯一标识。与文件系统不同的是,每个节点具 有与之对应的数据内容,同时也可以具有子节点。 zookeeper用于存储协调数据,如状态、配置、位

4、置等信息,每个节点存储的数据 量很小,KB级别。 节点维护一个状态stat结构(包括数据变化的版本号、ACL变化、时间戳),以允 许缓存验证与协调更新。每当节点数据内容改变,多一个版本号,类似HBase。 客户端获取数据的同时也会获取数据版本号。节点的数据内容以原子方式读写。 节点具有一个访问控制列表(Access Control List - ACL)来约束访问操作,即具 有权限控制。 Watches Zookeeper对Node的增、删、改、查都可触发监听 watch事件是一次性触发器,当watch监视的数据发生变化时,通知设置了该 watch的client,即watcher watch事

5、件异步发送至观察者 watch是一次性触发的并且在获取watch事件和设置新watch事件之间有延迟 所以不能可靠的观察到节点的每一次变化 客户端监视一个节点,总是先获取watch事件,再发现节点的数据变化 watch事件的顺序对应于zookeeper服务所见的数据更新的顺序 Storm集群:Zookeeper作为nimbus(master)和supervisor(slave)的中间枢 纽,保存Storm集群和作业的所有信息,并负责nimbus和supervisor的全部通信, Fast faill 。 HBase集群:Zookeeper作为“协调器”,为HBase提供了稳定服务和fail o

6、ver 机制。HRegionServer也会把自己以Ephemeral方式注册到Zookeeper中,使得 HMaster可以随时感知到各个HRegionServer的健康状态(可用于监控 RegionServer)。此外,Zookeeper也避免了HMaster的单点问题。 应用三大块:应用三大块: Storm应用开发,Storm集群监控 MapReduce应用开发 HBase应用开发 Zookeeper在在Hadoop平台典型应用平台典型应用 分布式应用配置管理分布式应用配置管理 发布与订阅即所谓的配置管理,顾名思义就是将数据发布到zk节点上,供 订阅者动态获取数据,实现配置信息的集中式管

7、理和动态更新。例如全局 的配置信息,地址列表等就非常适合使用。 Name Service 这个主要是作为分布式命名服务,通过调用zk的create node api,能够 很容易创建一个全局唯一的path,这个path就可以作为一个名称。 序列化节点 流行的应用场景 分布式通知分布式通知/协调协调 ZooKeeper中特有watcher注册与异步通知机制,能够很好的实现分布式环 境下不同系统之间的通知与协调,实现对数据变更的实时处理。 使用方法 通常是不同系统都对ZK上同一个znode进行watch,监听znode的 变化(包括znode本身内容及子节点的),其中一个系统update了 znode, 那么另一个系统能够收到通知,并作出相应处理。 分布式锁分布式锁 分布式锁,这个主要得益于ZooKeeper为我们保证了数据的强一致性,zk 集群中任意节点(一个zk server)上的相同znode的数据是一定是相同的。 锁服务可以分为两类,一个是保持独占,另一个是控制时序。一个是保持独占,另一个是控制时序。 集群管理集群管理 Hbase Master选举则是zo

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论