【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. 如果有人修改了便签内容,管理公告板的人会立刻通知你。

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

  • 分布式锁:比如你想独占某个资源,可以在公告板上贴一张"临时便签",其他人看到这张便签就知道资源被占用了。
  • 配置管理:比如你想让所有客户端都知道某个配置信息,可以在公告板上贴一张"持久便签",大家随时都能看到。
  • 集群管理:比如你想知道哪些服务器还在工作,可以让每台服务器在公告板上贴一张"临时便签",如果某台服务器掉线了,便签会自动消失。
相关推荐
天硕国产存储技术站1 小时前
DualPLP 双重掉电保护赋能 天硕工业级SSD筑牢关键领域安全存储方案
大数据·人工智能·安全·固态硬盘
雷文成.思泉软件2 小时前
以ERP为核心、企微为门户,实现一体化集成
大数据·低代码·创业创新
东哥说-MES|从入门到精通3 小时前
数字化部分内容 | 十四五年规划和2035年远景目标纲要(新华社正式版)
大数据·人工智能·数字化转型·mes·数字化工厂·2035·十四五规划
南飞测绘视界4 小时前
上市公司绿色专利申请、授权数据(1999-2024年)
大数据·专利·上市公司
一个天蝎座 白勺 程序猿5 小时前
KingbaseES在政务领域的应用实践——武汉人社大数据平台“数字化服务新模式”
大数据·数据库·政务·kingbasees·金仓数据库
pale_moonlight5 小时前
十、 Scala 应用实践 (上)
大数据·开发语言·scala
第二只羽毛6 小时前
遵守robots协议的友好爬虫
大数据·爬虫·python·算法·网络爬虫
Elastic 中国社区官方博客6 小时前
使用 A2A 协议和 MCP 在 Elasticsearch 中创建一个 LLM agent 新闻室:第二部分
大数据·数据库·人工智能·elasticsearch·搜索引擎·ai·全文检索
安达发公司6 小时前
安达发|告别手工排产!车间排产软件成为中央厨房的“最强大脑”
大数据·人工智能·aps高级排程·aps排程软件·安达发aps·车间排产软件
武子康7 小时前
大数据-166 Apache Kylin 1.6 Streaming Cubing 实战:Kafka 到分钟级 OLAP
大数据·后端·apache kylin