(1)Zookeeper基本原理

ZooKeeper是Hadoop Ecosystem中非常重要的组件,它的主要功能是为分布式系统提供一致性协调(Coordination)服务,与之对应的Google的类似服务叫Chubby。

ZooKeeper数据模型的结构与Unix文件系统很类似,整体上可以看作是一棵树,每个节点称做一个ZNode。每个ZNode都可以通过其路径唯一标识,在每个ZNode上可存储少量数据。

在分布式的集群中,经常会由于各种原因,比如硬件故障,软件故障,网络问题,有些节点会进进出出。有新的节点加入进来,也有老的节点退出集群。这个时候,集群中有些机器(比如Master节点)需要感知到这种变化,然后根据这种变化做出对应的决策。在HDFS中NameNode是通过DataNode的心跳机制来实现上述感知的Zookeeper其实也是实现了类似心跳机制的功能!

Zookeeper 中的主要角色主要有三类(如图4):来-自~优+尔=论.文,网www.chuibin.com +QQ752018766-

Leader主要有三个功能:。恢复数据;。维持与Learner的心跳,接收Learner请求并判断Learner的请求消息类型;。Learner的消息类型主要有PING消息、REQUEST消息、ACK消息、REVALIDATE消息,根据不同的消息类型,进行不同的处理。PING消息是指Learner的心跳信息;REQUEST消息是Follower发送的提议信息,包括写请求及同步请求;ACK消息是Follower的对提议的回复,超过半数的Follower通过,则commit该提议;REVALIDATE消息是用来延长SESSION有效时间。

Follower主要有四个功能:向Leader发送请求(PING消息、REQUEST消息、ACK消息、REVALIDATE消息);接收Leader消息并进行处理;。接收Client的请求,如果为写请求,发送给Leader进行投票;返回Client结果。

上一篇:asp.net+sqlserver公司招聘系统设计与实现
下一篇:java考试预约系统培训笔记模块的设计

基于android的环境信息管理系统设计

基于激光超声检测金属材...

基于MOODLE平台的在线交互式学习设计

基于离散事件系统Petri网模型的可达图研究

基于高斯过程动态模型的时序数据恢复方法

基于深度学习的目标识别算法研究

MATLAB基于流形学习与神经网络的预测建模

压疮高危人群的标准化中...

AES算法GPU协处理下分组加...

基于Joomla平台的计算机学院网站设计与开发

浅谈高校行政管理人员的...

STC89C52单片机NRF24L01的无线病房呼叫系统设计

提高教育质量,构建大學生...

酵母菌发酵生产天然香料...

浅论职工思想政治工作茬...

上海居民的社会参与研究

从政策角度谈黑龙江對俄...