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 /

其他客户端

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

相关推荐
二哈喇子!1 小时前
基于SpringBoot框架的网上购书系统的设计与实现
java·大数据·spring boot
云器科技2 小时前
大数据平台降本增效实践:四大典型场景的成本优化之路
大数据
B站计算机毕业设计超人2 小时前
计算机毕业设计Python知识图谱中华古诗词可视化 古诗词情感分析 古诗词智能问答系统 AI大模型自动写诗 大数据毕业设计(源码+LW文档+PPT+讲解)
大数据·人工智能·hadoop·python·机器学习·知识图谱·课程设计
天天进步20153 小时前
多线程与分布式:使用 Botasaurus 轻松构建大规模数据采集集群
分布式·爬虫
B站计算机毕业设计超人5 小时前
计算机毕业设计Python+大模型音乐推荐系统 音乐数据分析 音乐可视化 音乐爬虫 知识图谱 大数据毕业设计
人工智能·hadoop·爬虫·python·数据分析·知识图谱·课程设计
德昂信息dataondemand5 小时前
销售分析中的痛点与解决之道
大数据·数据分析
jkyy20145 小时前
健康监测驾驶系统赋能:解锁新能源汽车健康出行新场景
大数据·人工智能·物联网·健康医疗
归去来?6 小时前
记录一次从https接口提取25G大文件csv并落表的经历
大数据·数据仓库·hive·python·网络协议·5g·https
川西胖墩墩7 小时前
复杂任务的分布式智能解决方案
人工智能·分布式
龙山云仓7 小时前
No131:AI中国故事-对话荀子——性恶论与AI约束:礼法并用、化性起伪与算法治理
大数据·人工智能·深度学习·算法·机器学习