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 /

其他客户端

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

相关推荐
B站_计算机毕业设计之家7 分钟前
推荐系统实战:python新能源汽车智能推荐(两种协同过滤+Django 全栈项目 源码)计算机专业✅
大数据·python·django·汽车·推荐系统·新能源·新能源汽车
The Sheep 202336 分钟前
WPF自定义路由事件
大数据·hadoop·wpf
一个尚在学习的计算机小白43 分钟前
RabbitMQ
分布式·rabbitmq
奥尔特星云大使1 小时前
MySQL分布式架构:MyCat详解
数据库·分布式·mysql·mycat·高可用
SelectDB技术团队1 小时前
Apache Doris 内部数据裁剪与过滤机制的实现原理 | Deep Dive
大数据·数据库·apache·数据库系统·数据裁剪
WLJT1231231232 小时前
科技赋能塞上农业:宁夏从黄土地到绿硅谷的蝶变
大数据·人工智能·科技
安当加密5 小时前
智能合约在分布式密钥管理系统中的应用
分布式·智能合约
失散135 小时前
分布式专题——41 RocketMQ集群高级特性
java·分布式·架构·rocketmq
失散135 小时前
分布式专题——42 MQ常见问题梳理
java·分布式·架构