`
BradyZhu
  • 浏览: 248277 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

Zookeeper笔记

 
阅读更多

Zookeeper和Hadoop:

1:hadoop是 一旦namenode一挂掉,整个集群就完了。

2:zk 的健壮性是hadoop不能比拟的。相对于hadoop的 单点模式,,zookeeper集群,当server的leader失效时或者失去太多的

follower,zk集群进入恢复模式,恢复模式会自动选举出一个新的leader,让所有的server都恢复到一个正确的状态。

流程图:


client 发起请求,先到leader,然后再由leader分发到个个follower

具体:write request ---》request processor(请求处理器)处理请求----》atomic broadcast(Zookeeper的核心是原子广播,这个

机制保证了各个Server之间的同步。实现这个机制的协议叫做Zab协议。)----》replicate Database(内存数据库)

把这个请求发给每一台服务器节点,内部有一个轻量级的数据库。



ZK的数据体系模型

类似于文件系统的目录树型结构,同HDFS:



ZK 本身而已 不是存数据的。 hdfs的节点,只是一个路径,路径下面存数据。。而zookeeper还携带数据

zookeeper名字空间由节点znode构成,其组织方式类似文件系统,其中各个节点 相对于目录和文件,通过路径作为唯一标识。于文

件系统不同的是,每个节点具有与之对应的数据内容,同时也可以具有子节点。

(临时节点不能有子节点)

zookeeper用于存储协调数据,如状态、配置、位置等信息,每个节点存储的数据量很小,KB级别。

节点维护一个状态state结构(包括数据变化的版本号、ACL【访问控制权限】变化、时间戳),以允许缓存验证与协调跟新,每当节点

数据内容改变,多一个版本号(它不会把数据给删掉,类似hbse)。

客户端获取数据的同时也会获取数据的版本号。节点的数据以原子方式读写。

节点具有一个访问权限列表(access control list)来约束访问操作,即具有权限控制。

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics