ZooKeeper的开发和应用.docVIP

  1. 1、本文档共5页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
ZooKeeper的开发和应用

ZooKeeper的开发和应用 陈冬梅 常广炎 辽宁行政学院 X 关注成功! 加关注后您将方便地在 我的关注中得到本文献的被引频次变化的通知! 新浪微博 腾讯微博 人人网 开心网 豆瓣网 网易微博 摘????要: ZooKeeper是一个开放源码的分布式应用程序协调服务, 是Hadoop集群管理模块之一, 其主要功能是控制集群中数据并对Hadoop集群中的NameNode进行管理和维护, 及维护和监控存储数据状态的变化。介绍ZooKeeper的基本知识、使用和管理, 深入挖掘了ZooKeeper重要功能实现机制及应用场景, 通过具体实例简述了ZooKeeper实现的过程。 关键词: ZooKeeper程序; 层次命名空间; 节点; 作者简介:陈冬梅 (1982-) , 女, 硕士, 讲师, 研究方向:计算机应用。 收稿日期:2017-08-10 基金:2017年度辽宁行政学院重点课题 Received: 2017-08-10 1 Zoo Keeper 1.1特点 Zoo Keeper是为用户提供配置管理、分组和命名服务和同步管理的一个开源协调服务程序。用户可以使用Zoo Keeper提供的接口, 方便地实现一致性、组管理、leader选举及某些协议。其特点为: 1.1.1简单化 Zoo Keeper通过一种类似文件系统的层次命名空间使分布式进程相互协调工作。这些命名空间由一系列数据寄存器 (znodes) 组成, 类似文件系统中的文件和文件夹, 但znodes的数据是存储在内存中的, 有着高吞吐和低延迟的特性。Zoo Keeper实现了高性能和高可靠性及严格的有序访问, 从而决定了它能够用在大型的、分布式的系统中。 1.1.2可重用 组成Zoo Keeper服务的服务器必须互相知道其他服务器的存在, 它们在内存中保存了服务器状态, 也保存了操作的日志, 并持久化快照, 只要大多数服务器是可用的, Zoo Keeper就是可用的。客户端连接到一个Zoo Keeper服务器, 并且维持TCP连接, 发送文请求, 获取回复。如果这个TCP连接中断了, 客户端可以连接到另一个服务器。 1.1.3高可用性 Zoo Keeper可以在一组服务器上运行, 高可用性的设计有效地避免了单点故障。 1.1.4简单丰富的API Zoo Keeper提供了一套简单却丰富的API接口, 从而减轻了通信协议的编写负担。 1.2主要功能 1.2.1统一的命名服务 在分布应用中需要一套完整的命名规则, Zoo Keeper采用树形名称结构, 对用户友好又不会重复, Zoo Keeper的Name Service将有层次的目录结构关联到一定资源上, 只需调用Zoo Keeper的API就能轻松实现。 1.2.2配置管理 多台PC Server来运行一个应用是分布式应用的特点, 其中每台PC Server运行应用的配置项是相同的, 如果每台都这样配置, 工作量很大, 比较麻烦。这样相同的配置信息可以交给Zoo Keeper来管理, 省去了修改每台PC Server的配置, 大大提高了效率。 1.2.3集群管理 Zoo Keeper是一个多台Server的“总管”, 当前集群中每台机器的状态都被Zoo Keeper所跟踪记录, 一旦某台机器服务中断, Zoo Keeper将把信息告知集群, 从而做出调整, 并重新分配服务策略。 1.2.4共享锁 Zoo Keeper可以很容易实现跨进程或不同Server之间的共享锁。 2 工作原理 2.1 Zoo Keeper的系统角色 Zoo Keeper所担任角色是领导者 (Leader) 、学习者 (Learner) 和客户端 (Client) 。 领导者负责更新系统状态同时进行投票的发起和决议;学习者由跟随者和观察者构成。客户请求被发送给跟随者, 同时向客户端返回结果并在选主过程中参与投票;观察者连接客户端, 将写请求转发给Leader节点, 同步Leader的状态, 不参加投票过程。 2.2 Zoo Keeper的工作原理 为了保证了各个Server之间的同步, Zoo Keeper采用Zab协议, 并使用原子广播方式, 这是Zoo Keeper核心所在。Zab协议两种模式是选主模式和广播模式。Zab进入到选主模式是当服务启动或者领导者崩溃后自动进入。当领导者被选举出来, 且大多数Server完成了和Leader的状态同步以后, 选主模式结束。 Zoo Keeper主要流程为选主流程和同步流程。选主有两种选举算法, 一种是基于basic paxos算法, 另一种是fast paxos算法。fast paxos算法为系统默认。fast paxos算法是在选举过程中, 某Server首先向所有Ser

您可能关注的文档

文档评论(0)

zijingling + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档