Zookeeper数据结构和Zookeeper命令行的使用
Zookeeper数据结构
根据本小结第一部分的描述,很显然zookeeper集群自身维护了一套数据结构。这个存储结构是一个树形结构,其上的每一个节点,我们称之为“znode”。如下图所示:
Ø 每一个znode默认能够存储1MB的数据(对于记录状态性质的数据来说,够了)
Ø 可以使用zkCli命令,登录到zookeeper上,并通过ls、create、delete、sync等命令操作这些znode节点
Ø znode除了名称、数据以外,还有一套属性:zxid。这套zid与时间戳对应,记录zid不同的状态(后续我们将用到)
那么每个znode结构又是什么样的呢?如下图所示:
此外,znode还有操作权限。如果我们把以上几类属性细化,又可以得到以下属性的细节:
Ø czxid:创建节点的事务的zxid
Ø mzxid:对znode最近修改的zxid
Ø ctime:以距离时间原点(epoch)的毫秒数表示的znode创建时间
Ø mtime:以距离时间原点(epoch)的毫秒数表示的znode最近修改时间
Ø version:znode数据的修改次数
Ø cversion:znode子节点修改次数
Ø aversion:znode的ACL修改次数
Ø ephemeralOwner:如果znode是临时节点,则指示节点所有者的会话ID;如果不是临时节点,则为零。
Ø dataLength:znode数据长度。
Ø numChildren:znode子节点个数。
Zookeeper命令行使用
首先需要打开客户端,在服务端开启的情况下,运行客户端,使用如下命令:zkCli.sh
0.输入help查看zookeeper客户端的指令,如下图:
1.使用ls命令老查看当前znode中所包含的内容,ls path [watch]
2.查看当前节点数据并能看到更新次数等数据,ls2 path [watch]
3.创建节点-s含有序列-e临时,create
4.如何获得节点的值,get path [watch]
5.设置节点的值 set
6.查看节点状态 stat
7.删除节点 delete
8.递归删除节点 rmr