阿里云-云小站(无限量代金券发放中)
【腾讯云】云服务器、云数据库、COS、CDN、短信等热卖云产品特惠抢购

ZooKeeper 数据模型简介

87次阅读
没有评论

共计 1096 个字符,预计需要花费 3 分钟才能阅读完成。

导读 在 zookeeper 中,可以说 zookeeper 中的所有存储的数据是由 znode 组成的,节点也称为 znode,并以 key/value 形式存储数据。
数据模型

在 zookeeper 中,可以说 zookeeper 中的所有存储的数据是由 znode 组成的,节点也称为 znode,并以 key/value 形式存储数据。

整体结构类似于 linux 文件系统的模式以树形结构存储。其中根路径以 / 开头。

进入 zookeeper 安装的 bin 目录,通过 sh zkCli.sh 打开命令行终端,执行 “ls /” 命令显示:

$ ls /
$ ls /zookeeper
$ ls /zookeeper/quota

ZooKeeper 数据模型简介
我们直观的看到此时存储的数据在根目录下存在 runoob 和 zookeeper 两个节点,zookeeper 节点下存在 quota 这个节点。
ZooKeeper 数据模型简介
runoob 节点是在我们之前章节创建,并且通过 java 客户端设置值 0,现在我们在命令行终端执行 get /runoob 显示此节点的属性。

$ get /runoob

ZooKeeper 数据模型简介

Znode 的状态属性
cZxid 创建节点时的事务 ID
ctime 创建节点时的时间
mZxid 最后修改节点时的事务 ID
mtime 最后修改节点时的时间
pZxid 表示该节点的子节点列表最后一次修改的事务 ID,添加子节点或删除子节点就会影响子节点列表,但是修改子节点的数据内容则不影响该 ID(注意,只有子节点列表变更了才会变更 pzxid,子节点内容变更不会影响 pzxid)
cversion 子节点版本号,子节点每次修改版本号加 1
dataversion 数据版本号,数据每次修改该版本号加 1
aclversion 权限版本号,权限每次修改该版本号加 1
ephemeralOwner 创建该临时节点的会话的 sessionID。(** 如果该节点是持久节点,那么这个属性值为 0)**
dataLength 该节点的数据长度
numChildren 该节点拥有子节点的数量 (只统计直接子节点的数量)

了解上面状态属性值,我们对 /runoob 节点做一次修改,执行命令 set /runoob 1,如下图所示:

$ set /runoob 1

ZooKeeper 数据模型简介
对比上面结果,可以看到 mZxid、mtime、dataVersion 都发生了变化。

在 /runoob 节点下,我们再添加一子节点,执行:

$ create -e  /runoob/child  0
$ get /runoob

提示 :更多命令使用后面章节会详解介绍。

执行完终端命令行显示:
ZooKeeper 数据模型简介
可见 /runoob 节点的 pZxid、cversion、numChildren 都发生了相应的改变。

阿里云 2 核 2G 服务器 3M 带宽 61 元 1 年,有高配

腾讯云新客低至 82 元 / 年,老客户 99 元 / 年

代金券:在阿里云专用满减优惠券

正文完
星哥玩云-微信公众号
post-qrcode
 0
星锅
版权声明:本站原创文章,由 星锅 于2024-07-25发表,共计1096字。
转载说明:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
【腾讯云】推广者专属福利,新客户无门槛领取总价值高达2860元代金券,每种代金券限量500张,先到先得。
阿里云-最新活动爆款每日限量供应
评论(没有评论)
验证码
【腾讯云】云服务器、云数据库、COS、CDN、短信等云产品特惠热卖中