数据模型
在 zookeeper 中,可以说 zookeeper 中的所有存储的数据是由 znode 组成的,节点也称为 znode,并以 key/value 形式存储数据。
整体结构类似于 linux 文件系统的模式以树形结构存储。其中根路径以 / 开头。
进入 zookeeper 安装的 bin 目录,通过sh zkCli.sh打开命令行终端,执行 "ls /" 命令显示:
$ ls / $ ls /zookeeper $ ls /zookeeper/quota
我们直观的看到此时存储的数据在根目录下存在 runooo 和 zookeeper 两个节点,zookeeper 节点下存在 quota 这个节点。
runooo节点是在我们之前章节创建,并且通过 java 客户端设置值 0,现在我们在命令行终端执行 get /runooo 显示此节点的属性。
$ get /runooo
其中第一行显示的 0 是该节点的 value 值。
Znode 的状态属性
了解上面状态属性值,我们对 /runooo节点做一次修改,执行命令 set /runooo 1 ,如下图所示:
在 /runooo 节点下,我们再添加一子节点,执行:
$ create -e /runooo/child 0 $ get /runooo
可见 /runoob 节点的 pZxid、cversion、numChildren 都发生了相应的改变。