|NO.Z.00001|——————————|BigDataEnd|——|Hadoop&Zookeeper.V01|——|Zookeeper.v01|架构特点|
一、大纲
### --- Zookeeper简介
~~~ Zookeeper是什么?【熟悉】
~~~ zookeeper的架构组成【重点掌握】
~~~ Zookeeper环境搭建【熟悉】
~~~ Zookeeper数据结构与监听机制【重点掌握】
~~~ Zookeeper的基本使用【练习】
~~~ Zookeeper内部原理[重点掌握]
~~~ Zookeeper应用实践【熟悉】
~~~ Hadoop HA【练习】
### --- [zookeeper]
~~~ [Zookeeper简介之Zookeeper是什么]
~~~ [Zookeeper简介之Zookeeper的架构组成]
~~~ [Zookeeper简介之Zookeeper的特点]
二、Zookeeper简介
### --- Zookeeper是什么?
~~~ # Zookeeper 是一个分布式协调服务的开源框架。
~~~ 主要用来解决分布式集群中应用系统的一致性问题题,
~~~ 例如怎样避免同时操作同一数据造成脏读的问题。分布式系统中数据存在一致性的问题!!
~~~ # ZooKeeper 本质上是一个分布式的小文件存储系统。
~~~ 提供基于类似于文件系统的目录树方式的数据存储,并且可以对树中的节点进行有效管理。
~~~ # ZooKeeper 提供给客户端监控存储在zk内部数据的功能,
~~~ 从而可以达到基于数据的集群管理。
~~~ 诸如: 统一命名服务(dubbo)、分布式配置管理(solr的配置集中管理)、
~~~ 分布式消息队列(sub/pub)、分布式锁、分布式协调等功能。
三、zookeeper的架构组成

### --- Leader
~~~ Zookeeper 集群工作的核心角色
~~~ 集群内部各个服务器的调度者。
~~~ 事务请求(写操作) 的唯一调度和处理者,保证集群事务处理的顺序性;
~~~ 对于 create,setData, delete 等有写操作的请求,则需要统一转发给leader 处理,
~~~ leader 需要决定编号、执行操作,这个过程称为一个事务。
### --- Follower
~~~ 处理客户端非事务(读操作) 请求,
~~~ 转发事务请求给 Leader;
~~~ 参与集群 Leader 选举投票 2n-1台可以做集群投票。
~~~ 此外,针对访问量比较大的 zookeeper 集群, 还可新增观察者角色。
### --- Observer
~~~ 观察者角色,观察 Zookeeper 集群的最新状态变化并将这些状态同步过来,
~~~ 其对于非事务请求可以进行独立处理,对于事务请求,则会转发给 Leader服务器进行处理。
~~~ 不会参与任何形式的投票只提供非事务服务,
~~~ 通常用于在不影响集群事务处理能力的前提下提升集群的非事务处理能力。
~~~ 增加了集群增加并发的读请求。
~~~ ZK也是Master/slave架构,但是与之前不同的是zk集群中的Leader不是指定而来,
~~~ 而是通过选举产生。

四、Zookeeper 特点
### --- Zookeeper:
~~~ 一个领导者(leader:老大),多个跟随者(follower:小弟)组成的集群。
~~~ Leader负责进行投票的发起和决议,更新系统状态(内部原理)
~~~ Follower用于接收客户请求并向客户端返回结果,在选举Leader过程中参与投票
~~~ 集群中只要有半数以上节点存活,Zookeeper集群就能正常服务。
~~~ # 全局数据一致:
~~~ 每个server保存一份相同的数据副本,Client无论连接到哪个server,数据都是一致的。
~~~ 更新请求顺序进行(内部原理)
~~~ 数据更新原子性,一次数据更新要么成功,要么失败。
Walter Savage Landor:strove with none,for none was worth my strife.Nature I loved and, next to Nature, Art:I warm'd both hands before the fire of life.It sinks, and I am ready to depart
——W.S.Landor
分类:
bdv009-zookeeper
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 记一次.NET内存居高不下排查解决与启示
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· DeepSeek 开源周回顾「GitHub 热点速览」