0
点赞
收藏
分享

微信扫一扫

Ⅲ:zookeeper之查看节点的状态及其监听器的使用

小编 2022-07-12 阅读 37


❤️ ❤️ ❤️ ❤️ ❤️ ❤️ ❤️ ❤️ ❤️ ❤️ ❤️ ❤️ ❤️ ❤️ ❤️ ❤️ ❤️ ❤️ ❤️ ❤️ ❤️ ❤️ ❤️ ❤️ ❤️ ❤️ ❤️ ❤️ ❤️ ❤️ ❤️ ❤️ ❤️ ❤️ ❤️ ❤️

2021奉上我最喜欢的一句话:愿你孤独的努力都有回报,愿你前行的路上有人陪伴

文章目录

  • ​​1、cZxld,ctime,mZxid,mtime详解​​
  • ​​2、pZxid详解​​
  • ​​3、cversion,dataVersion详解​​
  • ​​4、aclVersion详解​​
  • ​​5、ephemeralOwner详解​​
  • ​​6、dataLength,numChildren详解​​
  • ​​7、查看节点的状态(get和stat的区别)​​
  • ​​8、查看节点列表​​
  • ​​9、监听器​​
  • ​​Ⅰ、监听器(get)的使用​​
  • ​​Ⅱ、监听器(stat)的使用​​
  • ​​Ⅲ、监听器(ls)的使用​​

1、cZxld,ctime,mZxid,mtime详解

cZxid:数据节点创建时的事务ID
ctime:数据节点创建的时间
mZxid:数据节点最后一次更新时的事务ID
mtime:数据节点最后一次更新时的时间

查看我以前已经创建过的节点

Ⅲ:zookeeper之查看节点的状态及其监听器的使用_监听器

可以看出事务ID相等,时间也相等(因为我没有修改过)

当我修改数据为222后,可以看出两者已经发生了变化

Ⅲ:zookeeper之查看节点的状态及其监听器的使用_数据_02

2、pZxid详解

数据节点的子节点最后一次修改时的事务ID

以unity节点为基础创建一个node1子节点,查看pZxid的情况

Ⅲ:zookeeper之查看节点的状态及其监听器的使用_zookeeper_03

再创建一个node2子节点,查看pZxid的情况

Ⅲ:zookeeper之查看节点的状态及其监听器的使用_zookeeper_04

可以分析出pZxid的作用

数据节点的子节点最后一次修改时的事务ID

3、cversion,dataVersion详解

cversion:子节点的更改次数
dataVersion:节点数据的更改次数

观看以下步骤的得出cversion的作用(删除上文中创建的节点)

Ⅲ:zookeeper之查看节点的状态及其监听器的使用_数据_05

4、aclVersion详解

aclVersion:节点ACL的更改次数
(角色权限控制)

5、ephemeralOwner详解

ephemeralOwner:如果节点是临时节点,则表示创建该节点的会话的SessionID;如果节点是持久节点,则属性值为0

创建和查看持久化节点

Ⅲ:zookeeper之查看节点的状态及其监听器的使用_数据_07

创建和查看临时节点

Ⅲ:zookeeper之查看节点的状态及其监听器的使用_zookeeper_08

6、dataLength,numChildren详解

dataLength:数据内容的长度
numChildren:数据节点的子节点个数

dataLength

Ⅲ:zookeeper之查看节点的状态及其监听器的使用_监听器_09


numChildren

Ⅲ:zookeeper之查看节点的状态及其监听器的使用_zookeeper_10

7、查看节点的状态(get和stat的区别)

stat /path

Ⅲ:zookeeper之查看节点的状态及其监听器的使用_监听器_11

可以看出stat相比于get少了数据显示。

8、查看节点列表

删除上文中用到的节点,重新创建。

演示ls

Ⅲ:zookeeper之查看节点的状态及其监听器的使用_zookeeper_12

注意3.6.2以上版本已经不能使用s2
被替换为ls -s /path

Ⅲ:zookeeper之查看节点的状态及其监听器的使用_zookeeper_13

9、监听器

Ⅰ、监听器(get)的使用

注意3.6.2版本以上使用get -w /path

监听unity节点数据的变化

Ⅲ:zookeeper之查看节点的状态及其监听器的使用_zookeeper_14


复制当前会话

Ⅲ:zookeeper之查看节点的状态及其监听器的使用_数据_15


在第二个会话中修改数据

Ⅲ:zookeeper之查看节点的状态及其监听器的使用_zookeeper_16


可以发现第一个会话中监听到了/unity节点数据发生了变化

Ⅲ:zookeeper之查看节点的状态及其监听器的使用_监听器_17

它的作用是为了监听实际场景中配置文件的变化,以便使应用程序获取最新的数据。

Ⅱ、监听器(stat)的使用

stat -w /path

通过stat命令监听unity节点的数据变化

Ⅲ:zookeeper之查看节点的状态及其监听器的使用_监听器_18


在会话2窗口修改/unity节点的数据

Ⅲ:zookeeper之查看节点的状态及其监听器的使用_数据_19


可以看到会话1窗口出现了以下事件

Ⅲ:zookeeper之查看节点的状态及其监听器的使用_数据_20

Ⅲ、监听器(ls)的使用

使用 ls -w /path 注册的监听器是监听该节点下的所有子节点的增加和删除操作

在会话窗口1监听/unity下的子节点变化

Ⅲ:zookeeper之查看节点的状态及其监听器的使用_数据_21


在会话窗口2新增一个节点

Ⅲ:zookeeper之查看节点的状态及其监听器的使用_监听器_22


可以看到会话窗口1发生的变化如下

Ⅲ:zookeeper之查看节点的状态及其监听器的使用_数据_23


举报

相关推荐

0 条评论