Hadoop-28 ZooKeeper集群 ZNode简介概念和测试 数据结构与监听机制 持久性节点 持久顺序节点 事务ID Watcher机制

章节内容

上节我们完成了:

  • ZooKeeper 集群配置
  • ZooKeeper 集群启动
  • ZooKeeper 集群状况查看
  • Follower 和 Leader 节点

背景介绍

这里是三台公网云服务器,每台 2C4G,搭建一个Hadoop的学习环境,供我学习。

之前已经在 VM 虚拟机上搭建过一次,但是没留下笔记,这次趁着前几天薅羊毛的3台机器,赶紧尝试在公网上搭建体验一下。

  • 2C4G 编号 h121
  • 2C4G 编号 h122
  • 2C2G 编号 h123

ZNode简介

在 ZooKeeper 中,数据信息被保存在一个个数据节点上,这些节点被称为ZNode

ZNode 是 ZooKeeper中的最小数据单位,在ZNode下还可以放ZNode

最终可以形成一个 ZNode Tree

在 ZooKeeper 中,每一个节点都是 ZNode,上图中有两个节点:

  • app1
  • app2

ZNode节点的路径标识和Unix文件系统路径非常相似,都是用一系列的 "/" 来表示的。

开发人员可以向这个节点写入数据,也可以在这个节点下创建子节点。

ZNode类型

ZooKeeper中的节点类型大致可以分为三大类, 不同的节点类型有不同的生命周期:

  • 持久性节点 Persistent
  • 临时性节点 Ephemeral
  • 顺序性节点 Sequential

持久性节点

ZooKeeper 中最常见的一种类型,节点被创建后会一直存在服务器上,直到被删除。

持久顺序节点

有顺序的持久节点,节点特性和持久节点是一样的,只是额外有了顺序

顺序特性实质上是在创建节点时,会在节点后面加上一个数字后缀,来表示其顺序。

临时节点

就是会被自动清理的节点,它的生命周期和客户端绑定在一起,客户端会话结束就会被删除掉。

与持久性节点不同的是,临时节点不能创建子节点

临时顺序节点

有顺序的临时节点,同顺序节点一样。

事务ID

事务是对物理和抽象的应用状态上的操作集合。往往在现在的观念中,狭义上的事务通常是指数据库事务,一般包含了一系列对数据库有序的读写操作。

这些事务具有所谓的 ACID:

  • 原子性 Atomic
  • 一致性 Consistency
  • 隔离性 Isolation
  • 持久性 Durability

在 ZooKeeper 中,事务是能够改变 ZooKeeper 服务器状态的操作。

对于每一个事务操作,ZooKeeper 都会为其分配一个全局唯一的事务ID,用ZXID来表示,通常是一个64位数字。每一个 ZXID 对应一个操作。

ZNode测试

客户端连接

我们需要连到:

shell 复制代码
zkCli.sh

成功连接到ZK:

SET测试

shell 复制代码
set / wzk.icu

GET测试

shell 复制代码
get /

其他客户端

登录到其他客户端查看数据是否同步:

相关推荐
大厂技术总监下海2 小时前
“Today I Learned”(TIL):一种比写博客更可持续的知识沉淀习惯
大数据·开源·github
房产中介行业研习社3 小时前
2026年1月房产中介管理系统排名
大数据·人工智能
有味道的男人3 小时前
平衡接入京东关键词API利弊的核心策略
大数据·运维
ZKNOW甄知科技3 小时前
IT自动分派单据:让企业服务流程更智能、更高效的关键技术
大数据·运维·数据库·人工智能·低代码·自动化
屿小夏.3 小时前
【Elasticsearch】Elasticsearch的分片和副本机制
大数据·elasticsearch·jenkins
Jinkxs3 小时前
Gradle - 与Elasticsearch集成 构建搜索服务项目
大数据·elasticsearch·搜索引擎
DBA大董5 小时前
云环境部署TDengine的那些坑
大数据·时序数据库·tdengine
阿坤带你走近大数据5 小时前
数据湖的构建实施方法论
大数据·数据湖·湖仓一体
安徽必海微马春梅_6688A5 小时前
实验a 信息化集成化生物信号采集与处理系统
大数据·人工智能·深度学习·信号处理
焦糖玛奇朵婷5 小时前
盲盒小程序:开发视角下的功能与体验
java·大数据·jvm·算法·小程序