Zookeeper数据模型怎么用

发布时间:2022-02-19 10:04:48 作者:小新
来源:亿速云 阅读:91

这篇文章主要为大家展示了“Zookeeper数据模型怎么用”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“Zookeeper数据模型怎么用”这篇文章吧。

Zookeeper作为分布式系统的底层协调服务有着其简单可依靠的数据模型,数据模型加之数据同步、一致性处理和可靠性,在此之上有很多经典的应用,例如,分布式锁、服务器动态上线下感知、主节点选举、数据发布与订阅、负载均衡等等。

Zookeeper数据模型怎么用

数据模型

在 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数据模型怎么用
ZooKeeper 数据模型简介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 都发生了相应的改变。

以上是“Zookeeper数据模型怎么用”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注亿速云行业资讯频道!

推荐阅读:
  1. Zookeeper
  2. Hive 数据模型

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

zookeeper

上一篇:Etcher.io怎么安装和使用

下一篇:Linux tee命令有什么用

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》