第5章 Zookeeper分布式协调服务-【千锋教育】Hadoop大数据开发实战(慕课版)
2023-03-21
|
47页
|
86人阅读
|
0人下载
教辅
内容正文:
第5章 Zookeeper分布式协调服务
认识Zookeeper
Zookeeper的安装和常用命令
Zookeeper客户端编程
Zookeeper典型应用场景
1
认识Zookeeper
Zookeeper的安装和常用命令
Zookeeper客户端编程
Zookeeper典型应用场景
01
02
04
03
目 录
CATALOUGUE
初心至善 匠心育人
5.1
认识Zookeeper
5.1.1
Zookeeper简介
5.1.2
Zookeeper的设计目的
5.1.3
Zookeeper的系统模型
5.1.4
Zookeeper中的角色
5.1.5
Zookeeper的工作原理
初心至善 匠心育人
5.1 认识Zookeeper
Zookeeper是开源的分布式应用程序协调服务。Zookeeper提供了同步服务、命名服务、组服务、配置管理服务,较好地解决了Hadoop中经常出现的死锁、竞态条件等问题。
死锁是在执行两个或两个以上的进程时,由竞争资源或彼此通信造成的阻塞现象。竞态条件是指在执行两个或两个以上的进程时,进程执行顺序对执行后的结果存在影响。
Zookeeper可以与需要保证高可用的Hadoop组件搭配使用,如HA模式下的HDFS、HA模式下的YARN、HBase。
5.1.1 Zookeeper简介
初心至善 匠心育人
5.1 认识Zookeeper
Zookeeper提供一个协调方便、易于编程的环境,能够减轻分布式应用程序所承担的协调任务,其设计目的主要体现在以下几个方面。
(1)一致性。客户不论连接到哪个服务器,看到的都是相同的视图。
(2)实时性。Zookeeper的数据存放在内存当中,可以做到高吞吐、低延迟。
(3)可靠性。组成Zookeeper服务的服务器必须互相知道其他服务器的存在。
(4)有序性。例如,Zookeeper为每次更新操作赋予一个版本号,此版本号是唯一、有序的。
(5)原子性。Zookeeper的客户端在读取数据时,只有成功或失败两种状态,不会出现只读取部分数据的情况。
5.1.2 Zookeeper的设计目的
初心至善 匠心育人
5.1 认识Zookeeper
Zookeeper的系统模型,如图所示。
5.1.3 Zookeeper的系统模型
ZooKeeper的系统模型分为服务器(Server)和客户端(Client)。
(1)客户端可以连接到ZooKeeper集群的任意服务器。客户端与服务器通过TCP建立连接,主要负责发送请求和心跳,获取响应和监视事件。
初心至善 匠心育人
5.1 认识Zookeeper
TCP(Transmission Control Protocol,传输控制协议)是一种面向连接的、可靠的、基于字节流的传输层通信协议。
(2)如果客户端与服务器的TCP连接中断,客户端自动尝试连接到其他服务器。
(3)客户端第一次连接到一个服务器时,该服务器会为客户端建立一个会话。当该客户端连接到其他的服务器时,新的服务器会为客户端重新建立一个会话。
5.1.3 Zookeeper系统模型
初心至善 匠心育人
5.1 认识Zookeeper
Zookeeper中主要有三种角色:Leader(领导者)、Follower(跟随者)和Observer(观察者)。
1. Leader
Leader是Zookeeper集群中的领导者,在集群中有且只有一个,主要负责以下工作。
(1)调度和处理事务请求,保证事务按顺序进行处理。
(2)调度Zookeeper集群内部各个服务器。
2. Follower
Follower是Zookeeper集群中的跟随者,集群中有多个,主要负责以下工作。
(1)处理客户端非事务请求,转发事务请求给Leader服务器。
5.1.4 Zookeeper中的角色
初心至善 匠心育人
5.1 认识Zookeeper
(2)参与Leader选举投票。
3. Observer
Observer和Follower类似,负责处理客户端非事务请求,转发事务请求给Leader服务器。Observer与Follower的区别在于:Observer不参与Leader选举投票。
Observer是从Zookeeper 3.3.0版本开始新增的角色。当Zookeeper集群节点增多时,为了支持更多的客户端,需要增加更多服务器,然而服务器增多,投票阶段耗费时间过多,影响集群性能。为了增强集群的扩展性,保证数据的高吞吐量,引入Observer。
5.1.4 Zookeeper中的角色
初心至善 匠心育人
5.1 认识Zookeeper
Zookeeper的核心工作原理是:选举一台服务器作为Leader对外提供服务,当该Leader出问题时,从剩下的多台服务器中快速选出一个
由于学科网是一个信息分享及获取的平台,不确保部分用户上传资料的 来源及知识产权归属。如您发现相关资料侵犯您的合法权益,请联系学科网,我们核实后将及时进行处理。