zookeeper的开发和应用

zookeeper的开发和应用

ID:30989026

大小:71.00 KB

页数:5页

时间:2019-01-05

zookeeper的开发和应用_第1页
zookeeper的开发和应用_第2页
zookeeper的开发和应用_第3页
zookeeper的开发和应用_第4页
zookeeper的开发和应用_第5页
资源描述:

《zookeeper的开发和应用》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、ZooKeeper的开发和应用陈冬梅常广炎辽宁行政学院摘要:ZooKeeper是一个开放源码的分布式应用程序协调服务,是Hadoop集群管理模块之一,其主要功能是控制集群中数据并对Hadoop集群中的NameNode进行管理和维护,及维护和监控存储数据状态的变化。介绍ZooKeeper的基本知识、使用和管理,深入挖掘了ZooKccpcr重要功能实现机制及应用场景,通过具体实例简述了ZooKeeper实现的过程。关键词:ZooKeeper程序;层次命名空间;节点;作者简介:陈冬梅(1982-),女,硕士,讲师,研究方向:计算机应用。收稿日期:

2、2017-08-10基金:2017年度辽宁行政学院重点课题Received:2017-08-101ZooKeeper1・1特点ZooKeeper是为用户提供配置管理、分组和命名服务和同步管理的一个开源协调服务程序。用户可以使用ZooKeeper提供的接口,方便地实现一致性、组管理、leader选举及某些协议。其特点为:1.1.1简单化ZooKeeper通过一种类似文件系统的层次命名空间使分布式进程相互协调工作。这些命名空间由一系列数据寄存器(znodes)组成,类似文件系统中的文件和文件夹,但znodes的数据是存储在内存中的,有着高吞吐和

3、低延迟的特性。ZooKeeper实现了高性能和高可靠性及严格的有序访问,从而决定了它能够用在大型的、分布式的系统中。1.1.2可重用组成ZooKeeper服务的服务器必须互相知道其他服务器的存在,它们在内存中保存了服务器状态,也保存了操作的日志,并持久化快照,只要大多数服务器是可用的,ZooKeeper就是可用的。客户端连接到一个ZooKeeper服务器,并且维持TCP连接,发送文请求,获取回复。如果这个TCP连接中断了,客户端可以连接到另一个服务器。1.1.3高可用性ZooKeeper可以在一组服务器上运行,高可用性的设计有效地避免了单点

4、故障。1・1.4简单丰富的APIZooKeeper提供了一套简单却丰富的API接口,从而减轻了通信协议的编写负担。1.2主要功能1.2.1统一的命名服务在分布应用屮需要一套完整的命名规则,ZooKeeper采用树形名称结构,对用户友好又不会重复,ZooKeeper的NameService将有层次的目录结构关联到一定资源上,只需调用ZooKeeper的API就能轻松实现。1.2.2配置管理多台PCServer来运行一个应用是分布式应用的特点,其中每台PCServer运行应用的配置项是相同的,如果每台都这样配置,工作量很大,比较麻烦。这样相同的

5、配置信息可以交给ZooKeeper来管理,省去了修改每台PCServer的配置,大大提高了效率。1.2.3集群管理ZooKeeper是一个多台Server的“总管”,当前集群中每台机器的状态都被ZooKeeper所跟踪记录,一旦某台机器服务中断,ZooKeeper将把信息告知集群,从而做出调整,并重新分配服务策略。1.2.4共享锁ZooKeeper可以很容易实现跨进程或不同Server之间的共享锁。2工作原理2.1ZooKeeper的系统角色ZooKeeper所担任角色是领导者(Leader)、学习者(Learner)和客户端(Client

6、)o领导者负责更新系统状态同时进行投票的发起和决议;学习者由跟随者和观察者构成。客户请求被发送给跟随者,同时向客户端返回结果并在选主过程屮参与投票;观察者连接客户端,将写请求转发给Leader节点,同步Leader的状态,不参加投票过程。2.2ZooKeeper的工作原理为了保证了各个Server之间的同步,ZooKeeper采用Zab协议,并使用原子广播方式,这是ZooKeeper核心所在。Zab协议两种模式是选主模式和广播模式。Zab进入到选主模式是当服务启动或者领导者崩溃后自动进入。当领导者被选举出来,且大多数Server完成了和Le

7、ader的状态同步以后,选主模式结束。ZooKeeper主要流程为选主流程和同步流程。选主有两种选举算法,一种是基于basicpaxos算法,另一种是fastpaxos算法。fastpaxos算法为系统默认。fastpaxos算法是在选举过程屮,某Server首先向所有Server提议自己要成为Leader,当其他Server收到提议后,解决epoch和zxid(事务id)的冲突,并接受对方的提议,然后向对方发送接受提议完成的消息。重复这个过程,最后选举出Leadero同步流程如图1所示。basicpaxos选主算法流程如图2所示。图1同步

8、流程下载原图图2选主流程图下载原图3ZooKeeper提供的接口ZooKeeper设计的一个重耍目标就是提供简单的编程接口,表1列出部分接口。表1下载原表操作实例如下:3.1建立

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。