ImageVerifierCode 换一换
格式:PPT , 页数:16 ,大小:511KB ,
资源ID:338958      下载积分:20 文钱
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,省得不是一点点
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.wenke99.com/d-338958.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: QQ登录   微博登录 

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(ZooKeeper分布式应用的协调器.PPT)为本站会员(国***)主动上传,文客久久仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知文客久久(发送邮件至hr@wenke99.com或直接QQ联系客服),我们立即给予删除!

ZooKeeper分布式应用的协调器.PPT

1、ZooKeeper分布式应用的协调器,主要内容,ZooKeeper的数据模型ZooKeeper的数据读写机制ZooKeeper的使用方法,为什么需要ZooKeeper?,大部分分布式应用需要一个主控、协调器或控制器来管理物理分布的子进程(如资源、任务分配等)目前,大部分应用需要开发私有的协调程序,缺乏一个通用的机制协调程序的反复编写浪费,且难以形成通用、伸缩性好的协调器ZooKeeper:提供通用的分布式锁服务,用以协调分布式应用(如,为HBase提供服务),ZooKeeper的数据模型,层次化目录结构命名符合常规文件系统规范, 不能包含/节点Znode可以包含数据与子 节点客户端应用可在节点

2、上设置 监视器节点数据不支持部分读写, 而是一次性完整读写临时性节点,节点创建属性,临时性节点创建的节点不是持久节点一旦与客户端的会话结束,节点自动删除Sequence创建节点时,编号自动加1例如x-1,x-2,s-3,x-4等,ZooKeeper的读写机制,ZooKeeper是一个由多个Server组成的集群一个Leader,多个Follower每个Server都保存了一份数据副本全局数据一致分布式读写更新请求转发,由Leader实施,使用ZooKeeper的约定,更新请求顺序执行来自同一个Client的更新请求按其发送顺序依次执行数据更新原子性一次数据更新要么成功,要么失败。不存在部分数据

3、写入成功或失败的情况全局唯一数据视图Client无论连接哪个Server,数据视图都是一致的实时性在一定时间范围内,Client能读到最新数据,ZooKeeper的API,String create(path, data, acl, flags)void delete(path, expectedVersion)Stat setData(path, data, expectedVersion)(data, Stat) getData(path, watch)Stat exists(path, watch)String getChildren(path, watch)void sync(path

4、)Stat setACL(path, acl, expectedVersion)(acl, Stat) getACL(path),包含监视器,调用参数均包含节点路径,对比:Chubby的API,handle Open(path,)Close(handle,)GetContentsAndStat(handle,), GetStat(handle), ReadDir(handle,)SetContents(handle), SetACL(handle,)Delete(path)Acquire(), TryAcquire(), Release()GetSequencer(), SetSequence

5、r(), CheckSequencer(),仅Open包含节点路径,生成handle供其他API使用,如何使用ZooKeeper?,关于ZooKeeper的锁服务这里的“锁”并非对ZooKeeper的资源加锁,用于对第三方资源加锁用例多个第三方分布式Server需要使用某第三方资源,谁获取了ZooKeeper中的独占锁,谁就可以使用第三方资源,否则等待,如何使用ZooKeeper?,Leader选举用于在多个节点中选取主控,如GFS中对外服务Master节点的选取,1)getData(“/servers/leader”, true)2)如果读取成功则从数据中获取leader信息,退出3)读取失

6、败,执行create(“./servers/leader”, hostname, EPHEMERAL)(注意节点类型)如果创建成功则自己成为leader,写入信息,退出5)如果写入失败,则返回步骤1,getData设置了监视器,如果数据发生变化,会重启上述流程,如何使用ZooKeeper?,独占锁如果分布式应用需要对某资源独占使用,可以申请独占锁,1)id = create(“./locks/x-”, SEQUENCE|EPHEMERAL)2)getChildren(“./locks/”, false)3)如果id是第一个节点,则获取独占锁,退出4)exists(name of last ch

7、ild before id, true)(注意,设置了监视器)5)如果id之前不存在节点,返回步骤26)等待通知7)返回步骤2,有且仅有一个Client可以获取到独占锁,如何使用ZooKeeper?,共享锁,1)id = create(“./locks/s-”, SEQUENCE|EPHEMERAL)2)getChildren(“./locks/”, false)3)如果id之前没有x-类型的节点,获取共享锁,退出4)exists(name of the last x- before id, true)5)如果id之前不存在x-类型节点,返回步骤26)等待事件通知7)返回步骤2,如果之前没有独

8、占锁,就可以获取共享锁,如何使用ZooKeeper?,其他应用(小数据存储)例如,GFS中master如何获知ChunkServer信息?,基于ZooKeeper的实现方法ChunkServer执行如下操作:1)id = create(“./chunkservers/cs-”, SEQUENCE|EPHEMERAL)2)向节点id中写入ChunkServer元信息Master执行如下操作:1) getChildren(“./chunkservers/”, true)2)读取子节点数据,获知ChunkServer元信息,其他,ZooKeeper的会话Client通过发送PING请求与Server保持会话通过PING,可以同时获知Client与Server是否活跃ZooKeeper的监视器监视器是一次性的,一次事件通知后就作废,性能,ZooKeeper适用于主要负载为读的应用场合,

Copyright © 2018-2021 Wenke99.com All rights reserved

工信部备案号浙ICP备20026746号-2  

公安局备案号:浙公网安备33038302330469号

本站为C2C交文档易平台,即用户上传的文档直接卖给下载用户,本站只是网络服务中间平台,所有原创文档下载所得归上传人所有,若您发现上传作品侵犯了您的权利,请立刻联系网站客服并提供证据,平台将在3个工作日内予以改正。