- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
ZooKeeper详解主要内容ZooKeeper概述安装和运行ZooKeeperZooKeeper结构与原理ZooKeeper服务使用ZooKeeper构建应用什么是Zookeeper?Zookeeper 是 Google 的 Chubby一个开源的实现,是 Hadoop 的分布式协调服务它包含一个简单的原语集,分布式应用程序可以基于它实现同步服务,配置维护和命名服务等什么是Zookeeper?为什么使用Zookeeper?需要一个主控的协调器来管理物理分布的子进程(如资源、任务分配等)需要开发私有的协调程序,但是缺乏一个通用的机制,协调程序的反复编写不仅造成浪费,且难以形成通用、伸缩性好的协调器ZooKeeper提供通用的分布式锁服务,用以协调分布式应用Zookeeper解耦系统结构Hadoop问:一个NameNode是否可以保证可靠性和一致性?答:完全可以HbaseZookeeper集群:HRegionServer联机和宕机,存储访问控制列表等一个HMasterr+N个Region ServerZookeeper的特性Zookeeper是简单的Zookeeper是富有表现力的Zookeeper具有高可用性Zookeeper采用松耦合交互方式Zookeeper是一个资源库Zookeeper的安装和配置创建myid文件,server1机器的内容为:1,server2机器的内容为:2,server3机器的内容为:3在conf目录下创建一个配置文件zoo.cfg,tickTime=2000 initLimit=5 syncLimit=2 dataDir=/home/hadoop/zookeeper/data clientPort=2181 server.1=server1:2888:3888 server.2=server2:2888:3888 server.3=server3:2888:3888Zookeeper的数据模型层次化的目录结构,命名符合常规文件系统规范。每个节点在zookeeper中叫做znode,并且其有一个唯一的路径标示。节点Znode可以包含数据和子节点Znode中的数据可以有多个版本,比如某一个路径下存有多个数据版本,那么查询这个路径下的数据就需要带上版本ZnodeZnode有两种类型,短暂的(ephemeral)和持久的(persistent)Znode的类型在创建时确定并且之后不能再修改短暂znode的客户端会话结束时,zookeeper会将该短暂znode删除,短暂znode不可以有子节点持久znode不依赖于客户端会话,只有当客户端明确要删除该持久znode时才会被删除Zookeeper的角色Zookeeper的读写机制Zookeeper是一个由多个server组成的集群一个leader,多个follower每个server保存一份数据副本全局数据一致分布式读写更新请求转发,由leader实施Zookeeper的保证更新请求顺序进行,来自同一个client的更新请求按其发送顺序依次执行数据更新原子性,一次数据更新要么成功,要么失败全局唯一数据视图,client无论连接到哪个server,数据视图都是一致的实时性,client能读到最新数据Zookeeper的API接口String create(String?path, byte[]?data, ListACL?acl, CreateMode?createMode) Stat exists(String?path, boolean?watch) void delete(String?path, int?version) ListString getChildren(String?path, boolean?watch) ListString getChildren(String?path, boolean?watch) Zookeeper的API接口Stat setData(String?path, byte[]?data, int?version) byte[] getData(String?path, boolean?watch, Stat?stat) void addAuthInfo(String?scheme, byte[]?auth) Stat setACL(String?path, ListACL?acl, int?version) ListACL getACL(String?path, Stat?stat) 观察(watcher)Watcher 在 ZooKeeper 是一个核心功能监控目录节点的数据变化以及子目录的变化,一旦这些状态发
您可能关注的文档
最近下载
- 《研学旅行指导师实务》课件——第1章 研学旅行指导师职业基础.pptx VIP
- 2025年秋季新教材部编版小学道德与法治二年级上册全册道法最新教案(教学设计).docx
- 马克思主义经典著作选读期末复习资料.pdf VIP
- 长征寻迹,爱心志愿——遵义五日红色旅游产品设计.pdf
- 2025年一级建造师执业资格考试《机电工程管理与实务》真题卷(附解析).docx VIP
- (新人教PEP版)英语六年级下册 Unit 4 大单元教学设计.docx
- 2025年营养指导员考试真题库(含答案).pdf
- 八年级语文上册新教材解读课件(统编版2024).pptx
- 野外数字路线地质调查野外数字填图教程.ppt VIP
- 中国在线供应链金融行业市场行情动态分析及发展前景趋势预测报告.docx
文档评论(0)