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 /

其他客户端

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

相关推荐
7***3745几秒前
HarmonyOS分布式能力的核心技术
分布式·华为·harmonyos
weixin_4569042726 分钟前
Git大文件管理与版本回退
大数据·git·elasticsearch
q***751843 分钟前
RabbitMQ 客户端 连接、发送、接收处理消息
分布式·rabbitmq·ruby
TDengine (老段)1 小时前
TDengine 转换函数 CAST 用户手册
java·大数据·数据库·物联网·时序数据库·tdengine·涛思数据
成长之路5141 小时前
【实证分析】地级市人口集聚度数据集-含代码(2000-2024年)
大数据
专注数据的痴汉2 小时前
「数据获取」《中国商务年鉴》(2004-2024)
大数据·人工智能·信息可视化
一只小青团2 小时前
Hadoop之javaAPI写HDFS的shell命令
大数据·hadoop·分布式
泰克教育官方账号2 小时前
泰涨知识 | 10分钟快速入门Hive之基本操作篇
数据仓库·hive·hadoop
天下无敌笨笨熊2 小时前
ES作为向量库研究
大数据·python·elasticsearch