(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的电子拍卖系统设计与开发

基于Web应用的致胜公司企业内部培训系统设计

Matlab基于多旋翼飞行器的飞行控制系统设计

基于字典学习的多视图低维相关表示方法研究

基于android通讯与游戏的手...

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

激光模拟训练器材国内外研究现状

发酵米粉优势菌株的发酵特性研究

浅谈农村大气环境保护的制度构建【1868字】

个案管理茬老年糖尿病患...

淮安市高校足球运动损伤问卷调查表

新疆农林高校學生昆虫生...

肢体语言在小学英语教学中的应用浅谈

日语论文中日酒文化对比研究

大淘宝网的虚假交易研究

2021年什么行业赚钱,适合...