news 2026/9/21 20:08:55

zookeeper基础概念及集群部署

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
zookeeper基础概念及集群部署

目录

前言:

一.Zookeeper 概述

二.Zookeeper 工作机制

三.Zookeeper 特点

四.Zookeeper 数据结构

五.Zookeeper 应用场景

六.zookeeper选举机制

1.第一次启动选举机制

2.非第一次启动选举机制

七.部署 Zookeeper 集群

1.部署环境ZK

2.安装前准备

3.安装 Zookeeper

总结

前言:

上次和读者们分享了关于redis的三种服务架构,今天主要是对zookeeper的基础概念和集群部署过程做一个详细的讲解。

一.Zookeeper概述

Zookeeper是一个分布式协调服务,专门为分布式应用提供高效可靠的协调、同步、配置管理和
故障恢复等功能。它的设计目的是简化分布式系统的管理,保证多个节点之间的数据一致性和协调工作。Zookeeper提供了类似文件系统的层次化命名空间,用来存储和管理元数据,确保分布式应用的高可用性和强一致性。

二.Zookeeper工作机制

Zookeeper从设计模式角度来理解:是一个基于观察者模式设计的分布式服务管理框架,它负责存
储和管理大家都关心的数据,然后接受观察者的注册,一旦这些数据的状态发生变化,Zookeeper就将负责通知已经在Zookeeper上注册的那些观察者做出相应的反应。也就是说Zookeeper =文件系统+通知机制

三.Zookeeper特点

1Zookeeper:一个领导者(Leader),多个跟随者(Follower)组成的集群。
2Zookeepe集群中只要有半数以上节点存活,Zookeeper集群就能正常服务。所以Zookeeper适合安装奇数台服务器。
3)全局数据一致:每个Server保存一份相同的数据副本,Client无论连接到哪个Server,数据都是一致的。
4)更新请求顺序执行,来自同一个Client的更新请求按其发送顺序依次执行,即先进先出。
5)数据更新原子性,一次数据更新要么成功,要么失败。
6)实时性,在一定时间范围内,Client能读到最新数据。

四.Zookeeper数据结构

Zookeeper的数据结构类似于一个层次化的文件系统:
ZNode:是Zookeeper中存储数据的基本单元,每个ZNode都可以存储少量的数据,并且可以
有子节点,形成树状结构。/
持久节点:该类型的ZNode会一直存在,直到手动删除。
临时节点:客户端会话断开时,临时节点会自动删除,适用于实现分布式锁等功能。
顺序节点:在创建ZNode时,Zookeeper可以自动为其添加递增的编号,常用于实现分布式队列
或顺序任务处理。
ZooKeeper数据模型的结构与Linux文件系统很类似,整体上可以看作是一棵树,每个节点称做一
ZNode。每一个ZNode默认能够存储1MB的数据,每个ZNode都可以通过其路径唯一标识。

五.Zookeeper应用场景

提供的服务包括:统一命名服务、统一配置管理、统一集群管理、服务器节点动态上下线、软负载均衡等
统一命名服务
在分布式环境下,经常需要对应用/服务进行统一命名,便于识别。例如:IP不容易记住,而域名容易记住。
统一配置管理
1)分布式环境下,配置文件同步非常常见。一般要求一个集群中,所有节点的配置信息是一致
的,比如Kafka集群。对配置文件修改后,希望能够快速同步到各个节点上。
2)配置管理可交由ZooKeeper实现。可将配置信息写入ZooKeeper上的一个Znode。各个客户
端服务器监听这个Znode。一旦Znode中的数据被修改,ZooKeeper将通知各个客户端服务器。
统一集群管理
1)分布式环境中,实时掌握每个节点的状态是必要的。可根据节点实时状态做出一些调整。
2ZooKeeper可以实现实时监控节点状态变化。可将节点信息写入ZooKeeper上的一个
ZNode。监听这个ZNode可获取它的实时状态变化。
服务器动态上下线
客户端能实时洞察到服务器上下线的变化。
软负载均衡
Zookeeper中记录每台服务器的访问数,让访问数最少的服务器去处理最新的客户端请求。

六.zookeeper选举机制

1.第一次启动选举机制

Zookeeper的选举机制确保集群中的所有节点对外表现为一个统一的服务。选举机制分为两个阶段:
Leader选举投票确认
1.服务器1启动,发起一次选举。服务器1投自己一票。此时服务器1票数一票,不够半数以上(3
票),选举无法完成,服务器1状态保持为LOOKING
2.服务器2启动,再发起一次选举。服务器12分别投自己一票并交换选票信息:此时服务器1发现服务器2myid比自己目前投票推举的(服务器1)大,更改选票为推举服务器2。此时服务器1票数0票,服务器2票数2票,没有半数以上结果,选举无法完成,服务器12状态保持LOOKING
3.服务器3启动,发起一次选举。此时服务器12都会更改选票为服务器3。此次投票结果:服务器1为0票,服务器20票,服务器33票。此时服务器3的票数已经超过半数,服务器3当选Leader。服务器12更改状态为FOLLOWING,服务器3更改状态为LEADING
4.服务器4启动,发起一次选举。此时服务器123已经不是LOOKING状态,不会更改选票信息。交换选票信息结果:服务器33票,服务器41票。此时服务器4服从多数,更改选票信息为服务器3,并更改状态FOLLOWING
5.服务器5启动,同4一样当小弟。

2.非第一次启动选举机制

1.ZooKeeper集群中的一台服务器出现以下两种情况之一时,就会开始进入Leader选举:
1)服务器初始化启动。
2)服务器运行期间无法和Leader保持连接。
2.而当一台机器进入Leader选举流程时,当前集群也可能会处于以下两种状态
1集群中本来就已经存在一个Leader
对于已经存在Leader的情况,机器试图去选举Leader时,会被告知当前服务器的Leader信息,对
于该机器来说,仅仅需要和Leader机器建立连接,并进行状态同步即可。
2集群中确实不存在Leader
假设ZooKeeper5台服务器组成,SID分别为12345ZXID分别为88877,并
且此时SID3的服务器是Leader。某一时刻,35服务器出现故障,因此开始进行Leader选举。
选举Leader规则:
EPOCH大的直接胜出任期
EPOCH相同,事务id大的胜出
事务id相同,服务器id大的胜出

七.部署Zookeeper集群

1.部署环境ZK

2.安装前准备

3.安装Zookeeper

总结:

今天主要是给读者们讲解了关于zookeeper的基础概念以及集群部署的相关实验操作,希望对读者们有所帮助!
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/9/20 0:38:07

hot100 2.字母异位词分组

思路:哈希表分组。1.题目要求:如果两个字符串从小到大排序后相等,那么这两个字符串就互为字母异位词,否则不是。2.举例:以示例1为例。输入:strs [eat,tea,tan,ate,nat,bat]。(1)每个…

作者头像 李华
网站建设 2026/9/20 4:37:25

R语言Cox回归避坑指南(临床数据建模常见错误TOP5)

第一章:R语言Cox回归在临床研究中的核心价值在临床研究中,生存分析是评估患者预后、治疗效果和风险因素影响的核心方法。Cox比例风险模型(Cox Proportional Hazards Model)因其无需假设基础风险函数的分布,被广泛应用于…

作者头像 李华
网站建设 2026/9/20 11:40:29

是德 N9041B UXA 频谱分析仪在真空环境完成卫星信号分析

卫星通信系统在航天、军事、气象等领域发挥着重要作用。卫星在轨运行时,面临着极端环境,包括真空、高低温、辐射等。为了确保卫星通信系统的可靠性,必须在地面模拟这些环境进行测试。真空环境下的射频测试,尤其是卫星信号的分析&a…

作者头像 李华
网站建设 2026/9/21 18:56:48

用是德DSOX1204A示波器快速捕捉与调试信号的实用指南

在电子研发、通信测试和自动化调试中,示波器是工程师不可或缺的“眼睛”。是德DSOX1204A示波器凭借其高带宽、多通道及智能分析功能,能大幅提升信号捕获与调试效率。以下是快速掌握其核心操作的实用技巧。一、硬件连接与基础设置:快速上手的关…

作者头像 李华
网站建设 2026/9/20 8:38:56

连接器EMC测试不过关?5步定位干扰源头,快速通过认证

第一章:连接器EMC测试不过关?5步定位干扰源头,快速通过认证在电子设备开发过程中,连接器是信号传输的关键节点,但也常成为电磁兼容(EMC)问题的源头。当产品在辐射发射或传导发射测试中失败时&am…

作者头像 李华
网站建设 2026/9/21 10:47:36

为什么90%的物联网项目卡在部署阶段?真相令人震惊

第一章:物联网的部署 物联网的部署涉及从设备接入、通信协议选择到数据处理与安全管理的完整流程。成功的部署需要综合考虑硬件兼容性、网络拓扑结构以及后端平台的可扩展性。 设备选型与接入 在部署初期,需根据应用场景选择合适的传感器与控制器。常见…

作者头像 李华