zookeeper的命令行语法以及节点类型
Posted 阳哥赚钱很牛
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了zookeeper的命令行语法以及节点类型相关的知识,希望对你有一定的参考价值。
我们先在虚拟机上执行一下help命令:
命令基本语法 | 功能描述 |
help | 显示所有操作命令 |
ls path [watch] | 使用ls命令来查看当前znode中所包含的内容 |
ls -s path [watch] | 查看当前节点信息 |
create | 普通创建 -s 含有序列 |
get path [watch] | 获得节点的值 |
set | 设置节点的具体值 |
stat | 查看节点状态 |
delete | 删除节点 |
rmr | 递归删除节点 |
一、具体命令操作
1、启动客户端
zkCli.sh -server
2、显示所有操作命令
help
3、查看当前znode中所包含的内容
ls /
结果:[zookeeper]
4、查看当前节点详细数据
ls -s /
[zookeeper]cZxid=0x0
ctime=ThuJan0108:00:00CST1970
mZxid=0x0
mtime=ThuJan0108:00:00CST1970
pZxid=0x0
cversion=-1
dataVersion=0
aclVersion=0
ephemeralOwner=0x0
dataLength=0
numChildren=1
(1)czxid:创建节点的事务zxid
每次修改ZooKeeper状态都会产生一个ZooKeeper事务ID。事务ID是ZooKeeper中所有修改总的次序。每次修改都有唯一的zxid,如果zxid1小于zxid2,那么zxid1在zxid2之前发生。
(2)ctime:znode被创建的毫秒数(从1970年开始)
(3)mzxid:znode最后更新的事务zxid
(4)mtime:znode最后修改的毫秒数(从1970年开始)
(5)pZxid:znode最后更新的子节点zxid
(6)cversion:znode子节点变化号,znode子节点修改次数
(7)dataversion:znode数据变化号
(8)aclVersion:znode访问控制列表的变化号
(9)ephemeralOwner:如果是临时节点,这个是znode拥有者的sessionid。如果不是临时节点则是0。
(10)dataLength:znode的数据长度
(11)numChildren:znode子节点数量
二、节点类型(znode)
首先zookeeper中的节点分为两大类:
持久(Persistent):客户端和服务器端断开连接后,创建的节点不删除
短暂(Ephemeral):客户端和服务器端断开连接后,创建的节点自己删除
说明:创建znode时设置顺序标识,znode名称后会附加一个值,顺序号是一个单调递增的计数器,由父节点维护
注意:在分布式系统中,顺序号可以被用于为所有的事件进行全局排序,这样客户端可以通过顺序号推断事件的顺序
那么,我们就可以把节点细分为以下四种:
(1)持久化目录节点:
客户端与Zookeeper断开连接后,该节点依旧存在
(2)持久化顺序编号目录节点:
客户端与Zookeeper断开连接后,该节点依旧存在,只是Zookeeper给该节点名称进行顺序编号
(3)临时目录节点:
客户端与Zookeeper断开连接后,该节点被删除
(4) 临时顺序编号目录节点
客户端与Zookeeper断开连接后,该节点被删除,只是Zookeeper给该节点名称进行顺序编号。
以上是关于zookeeper的命令行语法以及节点类型的主要内容,如果未能解决你的问题,请参考以下文章
Zookeeper3.5.7版本——客户端命令行操作(命令行语法)