Zookeeper学习

来源:互联网 发布:校验md5码软件 编辑:程序博客网 时间:2024/04/29 20:35

Zookeeper 是 Google 的 Chubby一个开源的实现,是 Hadoop 的分布式协调服务

Zookeeper的角色

领导者(leader),负责进行投票的发起和决议,更新系统状态

学习者(learner),包括跟随者(follower)和观察者(observer),follower用于接受客户端请求并想客户端返回结

果,在选主过程中参与投票

Observer可以接受客户端连接,将写请求转发给leader,但observer不参加投票过程,只同步leader的状

态,observer的目的是为了扩展系统,提高读取速度

客户端(client),请求发起方


Zookeeper的数据模型

层次化的目录结构,命名符合常规文件系统规范

每个节点在zookeeper中叫做znode,并且其有一个唯一的路径标识

节点Znode可以包含数据和子节点,但是EPHEMERAL类型的节点不能有子节点

Znode中的数据可以有多个版本,比如某一个路径下存有多个数据版本,那么查询这个路径下的数据就需要带上版本

客户端应用可以在节点上设置监视器

节点不支持部分读写,而是一次性完整读写

Zookeeper的节点

Znode有两种类型,短暂的(ephemeral)和持久的(persistent)

Znode的类型在创建时确定并且之后不能再修改

短暂znode的客户端会话结束时,zookeeper会将该短暂znode删除,短暂znode不可以有子节点

持久znode不依赖于客户端会话,只有当客户端明确要删除该持久znode时才会被删除

Znode有四种形式的目录节点,PERSISTENT(持久)、PERSISTENT_SEQUENTIAL(持久有序)、

EPHEMERAL(短暂)、

EPHEMERAL_SEQUENTIAL(短暂有序)




未完待续。。。






0 0