(1)Zookeeper基本原理

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

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

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

Zookeeper 中的主要角色主要有三类(如图4):来-自~优+尔=论.文,网www.youerw.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考试预约系统培训笔记模块的设计

基于Apriori算法的电影推荐

基于PageRank算法的网络数据分析

基于神经网络的验证码识别算法

基于网络的通用试题库系...

python基于决策树算法的球赛预测

基于消费者个性特征的化...

大电流LED驱动器LTC3454【506字】

新課改下小學语文洧效阅...

网络语言“XX体”研究

张洁小说《无字》中的女性意识

麦秸秆还田和沼液灌溉对...

互联网教育”变革路径研究进展【7972字】

老年2型糖尿病患者运动疗...

我国风险投资的发展现状问题及对策分析

安康汉江网讯

LiMn1-xFexPO4正极材料合成及充放电性能研究

ASP.net+sqlserver企业设备管理系统设计与开发