网站大量收购闲置独家精品文档,联系QQ:2885784924

Hadoop大数据原理与应用课件-第6章分布式协调框架ZooKeeper(2020春).pptx

Hadoop大数据原理与应用课件-第6章分布式协调框架ZooKeeper(2020春).pptx

  1. 1、本文档共160页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
第6章分布式协调框架ZooKeeper《Hadoop大数据原理与应用》西安电子科技大学出版社【知识与能力要求】第6章 分布式协调框架ZooKeeper6.1 分布式协调技术6.2 初识ZooKeeper6.3 ZooKeeper系统模型6.4 ZooKeeper工作原理6.5 ZooKeeper典型应用场景6.6 部署ZooKeeper集群6.7 实战ZooKeeper6.1 分布式协调技术什么是分布式协调技术?分布式协调技术主要用来解决分布式环境中多个进程之间的同步控制,让它们有序地访问某种临界资源,防止造成“脏数据”。为了防止分布式系统中的多个进程之间相互干扰,就需要一种分布式协调技术来对这些进程进行调度,而分布式协调技术的核心就是实现分布式锁。Server1??分布式系统中进程同步Application1Process-1网络网络资源在这个分布式系统中如何对进程进行调度?Server2???Server3???网络Application2Process-2Application3Process-3分布式系统中进程同步假设在Server1上挂载了一个资源,三个物理分布的进程都要竞争这个资源,但不希望它们同时进行访问,这时就需要一个协调器,来让三个进程有序地访问这个资源。这个协调器就是经常提到的锁,比如“Process-1”在使用该资源的时候会先去获得锁,“Process-1”获得锁之后会对该资源保持独占,这样其他进程就无法访问该资源,“Process-1”用完该资源后就将锁释放掉,让其他进程来获得锁。通过这个锁机制,就能保证分布式系统中多个进程能够有序地访问该临界资源。把这个分布式环境下的锁叫做分布式锁,这个分布式锁就是分布式协调技术实现的核心内容。6.1 分布式协调技术那么,如何实现分布式锁呢?在分布式环境中,由于网络的不可靠,对一个服务调用的失败并不表示一定是失败的,可能是执行成功了,但是响应返回的时候失败了。另外,A和B都去调用C服务,在时间上A先调用,B后调用,那么最后的结果是不是一定A的请求就先于B。这些在同一台机器上的种种假设都要重新思考,还要思考这些问题给的设计和编码带来了哪些影响。还有,在分布式环境中为了提升可靠性,往往会部署多套服务,但是如何在多套服务中达到一致性,这在同一台机器上多个进程之间的同步相对来说是比较容易的,但在分布式环境中确实一个难题。目前,已实现分布式协调技术的有Google Chubby,Apache ZooKeeper,它们都是分布式锁的实现者。6.2 初识ZooKeeperApache ZooKeeper于2010年11月成为Apache顶级项目。ZooKeeper是Google Chubby的开源实现,是一个分布式的、开放源码的分布式应用程序协调框架,为大型分布式系统提供了高效且可靠的分布式协调服务,提供了诸如统一命名服务、配置管理、分布式锁等分布式基础服务,并广泛应用于大型分布式系统如Hadoop、HBase、Kafka等开源系统。6.2.1 ZooKeeper简介Apache ZooKeeper是一个分布式的、开放源码的分布式应用程序协调框架,是Google Chubby的开源实现,它为大型分布式系统中的各种协调问题提供了一个解决方案,主要用于解决分布式应用中经常遇到的一些数据管理问题,如配置管理、命名服务、分布式同步、集群管理等。ZooKeeper易于编程,使用文件系统目录树作为数据模型,提供Java和C的编程接口。众所周知,协调服务非常容易出错,但却很难恢复正常,例如,协调服务很容易出现死锁。ZooKeeper的设计目标是将那些复杂且容易出错的分布式一致性服务封装起来,构成一个高效可靠的原语集,并以一系列简单易用的接口提供给用户使用。6.2.2 ZooKeeper来源ZooKeeper最早起源于雅虎研究院的一个研究小组。当时,研究人员发现,在雅虎内部很多大型系统基本都需要依赖一个类似的系统来进行分布式协调,但是这些系统往往都存在分布式单点问题。所以,雅虎的开户人员就试图开发一个通用的无单点问题的分布式协调框架,以便让开发人员将精力集中在处理业务逻辑上。雅虎模仿Google Chubby开发出了ZooKeeper,实现了类似的分布式锁功能,并且将ZooKeeper捐献给了Apache,ZooKeeper于2010年11月正式成为了Apache的顶级项目。6.2.3 选择ZooKeeper原因随着分布式架构的出现,越来越多的分布式应用会面临数据一致性问题。在解决分布式数据一致性问题上,除了ZooKeeper之外,目前还没有其它成熟稳定且被大规模应用的解决方案。ZooKeeper无论从性能、易用性还是稳定性上来说,都已经达到了一个工业级产品标准。其次,

文档评论(0)

水风波 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档