【Hadoop】什么是Zookeeper?如何理解Zookeeper?

ZooKeeper 是一个开源的分布式应用程序协调服务,可以为分布式应用提供一致性的服务,功能 包括:配置维护、名字服务、分布式同步、组服务等等。ZooKeeper 的目标是封装好复杂易出错的关键服务,将简单易用的接口和性能高效、功能稳定的系统提供给用户。

1.Zookeeper的特点

  • 最终一致性:Client 不论连接到哪个 Server, 展示给它的都是同一个视图。
  • 可靠性:如果某个消息被一台服务器接受,那么它将被集群中所有的服务器接受。
  • 实时性:Zookeeper 保证客户端将在一个时间间隔范围内获得服务器的更新或者服务器失效的信息。
  • 等待无关(wait-free):慢的或者失效的Client不得干预速的Client的请求。
  • 原子性:更新只能成功或者失败,没有中间状态。
  • 顺序性:所有server,同一消息发布顺序一致。

2. ZooKeeper 的架构

ZooKeeper 采用主从架构,主要包括以下组件:

(1)客户端:与 ZooKeeper 集群交互的应用程序。

(2)服务器集群:集群由多个服务器节点组成,每个服务器节点可以是以下角色之一:

  • Leader:负责处理写请求和事务操作。
  • Follower:处理读请求,并参与 Leader 选举和写请求的确认。
  • Observer:扩展 ZooKeeper 集群的读能力,不参与写请求的确认和 Leader 选举。

3.如何理解Zookeeper

ZooKeeper 就像是一个分布式的"公告板",所有的客户端都可以在这个公告板上发布信息、读取信息,并且能够实时监控信息的变化。

  • 客户端:看公告板的人,可以进行贴,读,撕,监控便签。
  • 服务器集群:管理公告板的人们。Leader :负责处理写操作(比如贴便签、撕便签)。Follower :负责处理读操作,并协助 Leader 管理公告板。Observer:只负责处理读操作,不参与写操作的管理。

工作流程:公告板的运作

(1)写操作(贴便签)

  1. 你(客户端)想贴一张便签,于是告诉管理公告板的人(ZooKeeper 服务器)。
  2. 如果管理公告板的人是 Follower,他会把这件事告诉 Leader。
  3. Leader 会召集所有管理公告板的人开会,讨论是否同意贴这张便签。
  4. 如果大多数人同意,Leader 就会把便签贴在公告板上,并通知你贴好了。

(2)读操作(看便签)

  1. 你(客户端)想看看公告板上的某张便签,于是随便找一个管理公告板的人(ZooKeeper 服务器)。
  2. 管理公告板的人直接从公告板上找到便签,并把内容告诉你。

(3)监控便签(实时通知)

  1. 你(客户端)对某张便签感兴趣,于是告诉管理公告板的人:"如果有人动了这张便签,请立刻通知我。"
  2. 如果有人修改了便签内容,管理公告板的人会立刻通知你。

四.应用场景:公告板的用途

  • 分布式锁:比如你想独占某个资源,可以在公告板上贴一张"临时便签",其他人看到这张便签就知道资源被占用了。
  • 配置管理:比如你想让所有客户端都知道某个配置信息,可以在公告板上贴一张"持久便签",大家随时都能看到。
  • 集群管理:比如你想知道哪些服务器还在工作,可以让每台服务器在公告板上贴一张"临时便签",如果某台服务器掉线了,便签会自动消失。
相关推荐
王小王-12312 分钟前
基于Hadoop的大规模文本词频统计分析系统设计与实现
hadoop·mapreduce·hadoop词频统计·hadoop文本统计·mapreduce词频统计
Codebee1 小时前
OneCode图表配置速查手册
大数据·前端·数据可视化
Jamie201901062 小时前
高档宠物食品对宠物的健康益处有哪些?
大数据·人工智能
陈敬雷-充电了么-CEO兼CTO2 小时前
推荐算法系统系列>推荐数据仓库集市的ETL数据处理
大数据·数据库·数据仓库·数据挖掘·数据分析·etl·推荐算法
小高不会迪斯科3 小时前
MIT 6.824学习心得(1) 浅谈分布式系统概论与MapReduce
大数据·mapreduce
TDengine (老段)3 小时前
使用 StatsD 向 TDengine 写入
java·大数据·数据库·时序数据库·iot·tdengine·涛思数据
Gauss松鼠会3 小时前
GaussDB权限管理:从RBAC到精细化控制的企业级安全实践
大数据·数据库·安全·database·gaussdb
时序数据说3 小时前
时序数据库IoTDB用户自定义函数(UDF)使用指南
大数据·数据库·物联网·开源·时序数据库·iotdb
大师兄带你刨AI4 小时前
「AI产业」| 《中国信通院&华为:智能体技术和应用研究报告》
大数据·人工智能
武子康4 小时前
大数据-31 ZooKeeper 内部原理 Leader选举 ZAB协议
大数据·后端·zookeeper