下面内容主要摘抄于<<Hadoop实战>>,红色高亮部分是本人添加的白话注释.
Zookeeper 是一种高性能、可扩展的服务。 Zookeeper 的读写速度非常快,并且读的速度要比写的速度更快。另外,在进行读操作的时候, ZooKeeper 依然能够为旧的数据提供服务。这些都是由于 ZooKeepe 所提供的一致性保证,它具有如下特点:
【Zookeeper提供的一致性是弱一致性,首先数据的复制有如下规则:zookeeper确保对znode树的每一个修改都会被复制到集合体中超过半数的机器上。那么就有可能有节点的数据不是最新的而被客户端访问到。并且会有一个时间点,在集群中是不一致的.
也就是Zookeeper只保证最终一致性, 但是实时的一致性可以由客户端调用自己来保证,通过调用sync()方法.
】
顺序一致性
客户端的更新顺序与它们被发送的顺序相一致。
原子性
更新操作要么成功要么失败,没有第三种结果。
单系统镜像
无论客户端连接到哪一个服务器,客户端将看到相同的 ZooKeeper 视图。
【如果数据不一致,怎么能够保证看到相同的视图? 插入/删除/修改都会对数据结构有影响】
可靠性
一旦一个更新操作被应用,那么在客户端再次更新它之前,它的值将不会改变。。这个保证将会产生下面两种结果:
1 .如果客户端成功地获得了正确的返回代码,那么说明更新已经成果。如果不能够获得返回代码(由于通信错误、超时等等),那么客户端将不知道更新操作是否生效。
2 .当从故障恢复的时候,任何客户端能够看到的执行成功的更新操作将不会被回滚。
实时性
在特定的一段时间内,客户端看到的系统需要被保证是实时的(在十几秒的时间里)。在此时间段内,任何系统的改变将被客户端看到,或者被客户端侦测到。
【伪实时性,太让人误解了,直白点说就是数据可以在十几秒Sync到各个节点,保证最终一致性. 我第一时间看到这个实时性的时候,我就好奇,Oracle RAC花了老鼻子劲才保证了实时性和一致性,Zookeeper是如何轻松做到的,原来是个假的,还说的那么让人误会. 】
给予这些一致性保证, ZooKeeper 更高级功能的设计与实现将会变得非常容易,例如: leader 选举、队列以及可撤销锁等机制的实现。
【
用分布式系统的CAP原则来分析Zookeeper.
1)C: Zookeeper保证了最终一致性,在十几秒可以Sync到各个节点.
2)A: Zookeeper保证了可用性,数据总是可用的,没有锁.并且有一大半的节点所拥有的数据是最新的,实时的. 如果想保证取得是数据一定是最新的,需要手工调用Sync()
3)P: 有2点需要分析的.
节点多了会导致写数据延时非常大,因为需要多个节点同步.
节点多了Leader选举非常耗时, 就会放大网络的问题. 可以通过引入observer节点缓解这个问题.
】
http://www.cnblogs.com/lpshou/archive/2013/06/14/3136904.html
http://www.cnblogs.com/wenfeng762/archive/2011/11/13/2247576.html
相关推荐
- 负责数据的分布式锁定,保证数据的一致性。 - 用于集群中的节点监控,当节点状态发生变化时,可以通过Zookeeper通知其他节点。 以上是基于Java大数据的Zookeeper实践案例,涵盖了安装、配置、操作以及开发接口...
Zookeeper在大数据生态中扮演着至关重要的角色,它被广泛应用于HBase、Kafka、Hadoop等项目,以提供高可用性和一致性保障。例如,在HBase中,Zookeeper用于选举HMaster,监控HRegionServer的状态,并管理访问控制...
【大数据技术Hadoop,Zookeeper部署】 大数据技术是现代信息技术领域的重要组成部分,它涉及数据的收集、存储、处理和分析。Hadoop是大数据处理的核心框架,而Zookeeper则是Hadoop生态系统中的协调服务,用于管理...
【Java大数据作业_4Zookeeper】的课后问题主要涵盖了Zookeeper在HBase中的作用、Zookeeper客户端连接信息获取、Zookeeper实现FIFO队列、MapReduce流程与中间结果的伪代码描述,以及倒排索引的编程实现。以下是详细...
**大数据技术基础实验报告——Zookeeper的安装配置与应用实践** Apache ZooKeeper 是一个分布式的,开放源码的分布式应用程序协调服务,它是集群的管理者,监视着集群中各个节点的状态根据节点提交的反馈进行下一步...
4. **分布式锁**:Zookeeper可以实现分布式锁,确保在多节点并发操作时的互斥性和一致性,防止数据的不一致性和资源的竞争。 5. **领导者选举**:在分布式环境中,Zookeeper采用Paxos算法进行领导者选举,确保在...
总结来说,ZooKeeper在华为大数据认证中是至关重要的,它的分布式协调服务解决了复杂分布式环境中的一致性、可靠性和容灾问题,确保了整个系统的高效稳定运行。通过学习ZooKeeper,开发者能够更好地理解和构建大规模...
徐老师大数据-001.ZooKeeper简介.mp4、徐老师大数据-002.ZooKeeper下载与安装.mp4、徐老师大数据-003.ZooKeeper分布式集群配制与Leader宕机测试.mp4、徐老师大数据-004.ZooKeeper分布式集群配制与nc Linux命令的网络...
Zookeeper的特点包括其高可用性、顺序一致性、数据模型的简单性以及强大的监控能力。它通过一个层次化的命名空间,类似于文件系统,来组织和管理数据。这个命名空间由节点(Znode)组成,每个节点可以存储数据并可以...
《从Paxos到Zookeeper分布式一致性原理与实践》与《ZooKeeper-分布式过程协同技术详解》这两本书深入探讨了分布式系统中的一个重要概念——一致性,以及如何通过ZooKeeper这一工具来实现高效的分布式协同。...
例如,在Hadoop中,Zookeeper用来确保NameNode的唯一性,存储集群配置;在HBase中,它帮助管理HMaster并检测HRegionServer的状态;在Storm中,Zookeeper负责nimbus和supervisor的通信。 【Zookeeper的使用与安装】 ...
从Paxos到Zookeeper分布式一致性原理与实践.pdf从Paxos到Zookeeper分布式一致性原理与实践.pdf从Paxos到Zookeeper分布式一致性原理与实践.pdf从Paxos到Zookeeper分布式一致性原理与实践.pdf从Paxos到Zookeeper分布式...
在当今大数据和云计算的时代背景下,分布式系统的应用越来越广泛,而其中的核心挑战之一就是如何保证数据的一致性。PAXOS算法和ZOOKEEPER作为解决这一问题的重要工具,被广大开发者和研究者所关注。 PAXOS算法,由...
《从Paxos到Zookeeper分布式一致性原理与实践》是一本深入探讨分布式系统一致性问题的著作,其中重点讲解了Paxos算法与Zookeeper在实际应用中的理论与实践。Paxos是分布式计算领域中著名的共识算法,为解决分布式...
【大数据与云计算教程】课程涵盖了从基础到高级的大数据处理技术,其中Zookeeper服务是重要的分布式协调服务组件。Zookeeper由Apache开发,提供了一个高可用、高性能的数据模型,用于管理和同步分布式应用程序的数据...
### 分布式一致性原理与实践:从Paxos到Zookeeper #### 一、引言 随着互联网技术的发展,分布式系统已经成为现代软件架构的核心组成部分。在分布式系统中,多个节点协同工作来完成复杂的任务,而如何确保这些节点...
《从Paxos到Zookeeper:分布式一致性原理与实践》这本书深入浅出地探讨了分布式系统中的一个重要概念——一致性,以及如何在实际操作中通过Paxos算法和Zookeeper实现这一概念。分布式一致性是分布式系统设计的核心,...