Zookeeper的学习

1.Zookeeper是什么?

引用官方的说法:“Zookeeper是一个高性能,分布式的,开源分布式应用协调服务。它提供了简单原始的功能,分布式应用可以基于它实现更高级 的服务,比如同步,配置管理,集群管理,名空间。它被设计为易于编程,使用文件系统目录树作为数据模型。服务端跑在java上,提供java和C的客户端 API”。

2.Zookeeper总体结构

Zookeeper服务自身组成一个集群。Zookeeper服务有两个角色,一个是leader,负责写服务和数据同步,剩下的是follower,提供读服务,leader失效后会在follower中重新选举新的leader。

Zookeeper逻辑图如下:

(1).客户端可以连接到每个server,每个server的数据完全相同。

(2).每个follower都和leader有连接,接受leader的数据更新操作。

(3).Server记录事务日志和快照到持久存储。

(4).大多数server可用(2n+1个服务允许n个失效),整体服务就可用。

3.Zookeeper数据模型

Zookeeper表现为一个分层的文件系统目录树结构(不同于文件系统的是,节点可以有自己的数据,而文件系统中的目录节点只有子节点)。

圆形节点可以含有子节点,多边形节点不能含有子节点。一个节点对应一个应用,节点存储的数据就是应用需要的配置信息。

Zookeeper 特点

(1).顺序一致性:按照客户端发送请求的顺序更新数据。

(2).原子性:更新要么成功,要么失败,不会出现部分更新。

(3).单一性 :无论客户端连接哪个server,都会看到同一个视图。

(4).可靠性:一旦数据更新成功,将一直保持,直到新的更新。

(5).及时性:客户端会在一个确定的时间内得到最新的数据。

时间: 2024-10-19 10:24:43

Zookeeper的学习的相关文章

[转]ZooKeeper的学习与应用

http://blog.csdn.net/rengq126/article/details/7393227 1. ZooKeeper的学习与应用 1.1. 概述 ZooKeeper是Apache在很多云计算项目中的一个,与Hadoop密切相关,这种情况导致我一开始认为ZooKeeper的搭建需要Hadoop项目作为支持,但是最后发现完全不需要,它是可以单独运行的一个项目. 在网上看到了一个很不错的关于ZooKeeper的介绍: 顾名思义动物园管理员,他是拿来管大象(Hadoop) . 蜜蜂(Hi

ZooKeeper的学习与应用

近期大概学习了一下ZooKeeper,本身并没有深入.LGG尝试着在虚拟机里面搭了平台,看了看一些教材,从网上到处看别人的博文并引用之,还请各位大牛们谅解我的剽窃.现总结例如以下. 1. ZooKeeper的学习与应用 1.1. 概述 ZooKeeper是Apache在非常多云计算项目中的一个,与Hadoop密切相关,这样的情况导致我一開始觉得ZooKeeper的搭建须要Hadoop项目作为支持,可是最后发现全然不须要,它是能够单独执行的一个项目. 在网上看到了一个非常不错的关于ZooKeepe

分布式管中窥豹之zookeeper小白学习(五)启动zookeeper仲裁模式

欢迎来到分布式管中窥豹之zookeeper小白学习系列,本系列会记录zookeeper以及分布式系统学习过程中的一些操作和细节,大饼果子非科班出身,如有错误,欢迎指出 本篇将启动zookeeper服务的仲裁模式,三个节点将以不同的端口号在本地被启动 1. 首先我们需要修改一下配置文件 节点1的配置文件z1.cfg tickTime=2000 initLimit=10 syncLimit=5 dataDir=/Users/dabingguozi/Documents/zookeeper/data/z

zookeeper入门学习(一)

概述: ZooKeeper是Hadoop的开源子项目(Google Chubby的开源实现),它是一个针对大型分布式系统的可靠协调系统,提供的功能包括:配置维护.命名服务.分布式同步.组服务等. Zookeeper中的角色主要有以下三类,如下表所示: Leader主要有三个功能: 恢复数据: 维持与Learner的心跳,接收Learner请求并判断Learner的请求消息类型: Learner的消息类型主要有PING消息.REQUEST消息.ACK消息.REVALIDATE消息,根据不同的消息类

zookeeper入门学习

1.基本概念 ZooKeeper是一个分布式的,开放源码的分布式应用程序协调服务,是Google的Chubby一个开源的实现,是Hadoop和Hbase的重要组件.它是一个为分布式应用提供一致性服务的软件,提供的功能包括:配置维护.域名服务.分布式同步.组服务等. Zookeeper是高性能.高可用的分布式协调框架,采用了自定义的ZAB(Zookeeper Atomic Broadcast)事务一致性协议,在高并发分布式系统环境中保证事务一致性.ZK采用类似Linux操作系统文件目录结构管理节点

Zookeeper 的学习与运用

引子 云计算越来越流行的今天,单一机器处理能力已经不能满足我们的需求,不得不采用大量的服务集群.服务集群对外提供服务的过程中,有很多的配置需要随时更新,服务间需要协调工作,这些信息如何推送到各个节点?并且保证信息的一致性和可靠性? 众所周知,分布式协调服务很难正确无误的实现,它们很容易在竞争条件和死锁上犯错误.如何在这方面节省力气?Zookeeper是一个不错的选择. Zookeeper背后的动机就是解除分布式应用在实现协调服务上的痛苦.本文在介绍Zookeeper的基本理论基础上,用Zooke

zookeeper入门学习(二)

zookeeper安装 单机模式 首先,下载zookeeper-3.4.8.tar.gz 创建/usr/zookeeper,解压到zookeeper目录 [[email protected] zookeeper]# tar -zxvf zookeeper-3.4.8.tar.gz 配置环境变量: 为了今后操作方便,我们需要对Zookeeper的环境变量进行配置,方法如下在/etc/profile文件中加入如下内容: [[email protected] liutie]# vi /etc/prof

【转载】Zookeeper 的学习与运用

引子 云计算越来越流行的今天,单一机器处理能力已经不能满足我们的需求,不得不采用大量的服务集群.服务集群对外提供服务的过程中,有很多的配置需要随时更新,服务间需要协调工作,这些信息如何推送到各个节点?并且保证信息的一致性和可靠性? 众所周知,分布式协调服务很难正确无误的实现,它们很容易在竞争条件和死锁上犯错误.如何在这方面节省力气?Zookeeper是一个不错的选择. Zookeeper背后的动机就是解除分布式应用在实现协调服务上的痛苦.本文在介绍Zookeeper的基本理论基础上,用Zooke

zookeeper 相关学习资料

zookeeper的配置:http://www.cnblogs.com/yuyijq/p/3438829.html zookeeper运维:http://blog.csdn.net/hengyunabc/article/details/19006911 官方指导文档 :http://zookeeper.apache.org/doc/r3.4.5/zookeeperAdmin.html#sc_zkCommands