数据模型
zookeeper的数据模型和文件系统类似,每一个节点称为:znode. 是zookeeper中的最小数据单元。每一个znode上都可以
保存数据和挂载子节点。 从而构成一个层次化的树形结构
节点特性
持久化节点 : 节点创建后会序列化到硬盘,一直存在zookeeper服务器上,直到主动删除
持久化有序节点 :每个节点都会为它的一级子节点维护一个顺序
临时节点 : 临时节点的生命周期和客户端的会话保持一致。当客户端会话失效,该节点自动清理(打开连接,会话开始,关闭 连接,会话结束)
临时有序节点 : 在临时节点上多了一个顺序性特性
临时节点上无法挂载子节点
通过zkCli.sh连接zk集群
cd /yuanyk/zookeeper-3.4.10
./bin/zkCli.sh -server 192.168.226.103:2181
help 命令查看所有命令
0. ls path
查看path下的节点
1. create [-s] [-e] path data acl
-s 表示节点是否有序
-e 表示是否为临时节点
默认情况下,是无序持久化节点
注:create有序节点时会在path后面添加序列号
2. get path [watch]
获得指定节点的信息
3.set path data [version]
修改path节点对应的data
乐观锁的概念
数据库里面有一个 version 字段去控制数据行的版本号
4.delete path [version]
删除节点
stat信息
cversion = 0 子节点的版本号(增加/删除子节点时加一,修改子节点version不变)
aclVersion = 0 表示acl的版本号,修改节点权限
dataVersion = 1 表示的是当前节点数据的版本号
czxid 节点被创建时的事务ID
mzxid 节点最后一次被更新的事务ID
pzxid 当前节点下的子节点最后一次被修改时的事务ID
ctime = Sat Aug 05 20:48:26 CST 2017
mtime = Sat Aug 05 20:48:50 CST 2017
ephemeralOwner = 0x1692dbfdf390002 创建临时节点的sessionid(一次会话一个sessionid),持久化节点的值=0x0
dataLength = 3 数据值长度
numChildren = 0 子节点数