zookeeper学习
zookeeper学习
zookeeper是分布式的、开源的程序协调服务,提供的主要功 能包括:配置管理、名字服务、分布式锁、集群管理。
-
配置管理
数据库链接等配置服务,通过zab协议使得分布式系统达成一致性
-
名字服务
通过指定的名字获取资源或者服务的地址,童工者的信息
-
分布式锁
控制分布式系统之间同步访问资源
-
集群管理
感知集群的变化,采取相应的措施
zookeeper的存储结构是树形的,每个节点为Znode,与unix文件系统结点相似,可以存储/获取该节点数据
znode节点:每个节点至多存储1M数据,并且可以通过ls,delete,get,set操作节点
节点类型:
- PERSISTENT 持久化节点: 在节点创建后,就一直存在,直到有删除操作来主动清除这个节点。
- PERSISTENT_SEQUENTIAL 持久顺序节点,与持久化节点基本一致,但他的父节点会为他的第一级子节点维护一份时序,记录每个节点创建顺序
- EPHEMERAL 临时节点 临时节点的生命周期和客户端会话绑定,会话结束,节点被清理掉
- EPHEMERAL_SEQUENTIAL 临时自动编号节点 带有顺序的临时节点
zookeeper特点
- 最终一致性:client 不论连接到哪个 Server,展示给它都是同一个视图
- 可靠性:如果消息 m 被到一台服务器接受,那么它 将被所有的服务器接受。
- 实时性:Zookeeper 保证客户端将在一个时间间隔范围内获得服务器的更新信息,或者服务器失效的信息。
- 等待无关:慢的或者失效的 client 不得干预快速的 client 的请求,使得每 个 client 都能有效的等待。
- 原子性:更新只能成功或者失败,没有中间状态。
- 顺序性:包括全局有序和偏序两种:全局有序是指如果在一台服务器上消息 a 在消息 b 前发布,则在所有 Server 上消息 a 都将在消息 b 前被发布;偏序是指如果一个消息 b 在消 息 a 后被同一个发送者发布,a 必将排在 b 前面。
zookeeper安装:
-
下载安装包:
Apache:https://dlcdn.apache.org/zookeeper/zookeeper-3.7.0/apache-zookeeper-3.7.0-bin.tar.gz
bit:https://mirrors.bit.edu.cn/apache/zookeeper/zookeeper-3.7.0/apache-zookeeper-3.7.0-bin.tar.gz
-
安装
解压,并创建data,log文件夹
复制conf/zoo_sample.cfg文件为conf/zoo_cfg,修改配置
#修改 dataDir=D:/Tools/zookeeper/apache-zookeeper-3.7.0-bin/data #新增 dataLogDir=D:/Tools/zookeeper/apache-zookeeper-3.7.0-bin/log
-
启动
运行zhSever.cmd,启动
运行zhCli.cmd验证,出现
Welcome to ZooKeeper!
则启动成功
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
· 字符编码:从基础到乱码解决