1、ls命令
ls命令查看节点,格式:ls /path
查看根节点
[zk: 192.168.xx.xxx:2181(CONNECTED) 0] ls /
[zookeeper]
path不能少,否则无法执行(这点与linux不一样)
[zk: 192.168.xx.xxx:2181(CONNECTED) 1] ls
ls [-s] [-w] [-R] path
2、create命令
create命令创建节点,格式:create [-e] [-s] /path [data]
,-e
表示临时节点,-s
表示带顺序,/path
表示路径,data
表示写入节点的数据。
持久化无序号节点:create /path data
(退出客户端后数据仍然存在)
[zk: 192.168.xx.xxx:2181(CONNECTED) 3] create /testnodeA helloA
Created /testnodeA
[zk: 192.168.xx.xxx:2181(CONNECTED) 4] ls /
[testnodeA, zookeeper]
持久化有序号节点:create -s /path data
[zk: 192.168.xx.xxx:2181(CONNECTED) 5] create -s /testnodeB helloB
Created /testnodeB0000000002
[zk: 192.168.xx.xxx:2181(CONNECTED) 6] ls /
[testnodeA, testnodeB0000000002, zookeeper]
临时的无序号节点:create -e /path data
(退出客户端后数据会自动删除【有延时】)
[zk: 192.168.xx.xxx:2181(CONNECTED) 7] create -e /tempnodeA helloA
Created /tempnodeA
[zk: 192.168.xx.xxx:2181(CONNECTED) 8] ls /
[tempnodeA, testnodeA, testnodeB0000000002, zookeeper]
临时的有序号解决:create -e -s /path data
[zk: 192.168.xx.xxx:2181(CONNECTED) 2] create -e -s /tempnode helloB
Created /tempnode0000000004
[zk: 192.168.xx.xxx:2181(CONNECTED) 3] ls /
[tempnode0000000004, testnodeA, testnodeB0000000002, zookeeper]
3、get命令
get命令获取节点数据,格式:get [-s] /path
,-s
表示获取详细信息
获取数据:get /path
[zk: 192.168.xx.xxx:2181(CONNECTED) 4] get /testnodeA
helloA
获取详细信息:get -s /path
[zk: 192.168.xx.xxx:2181(CONNECTED) 5] get -s /testnodeA
helloA
cZxid = 0x200000008
ctime = Sun Jun 07 07:48:56 GMT 2020
mZxid = 0x200000008
mtime = Sun Jun 07 07:48:56 GMT 2020
pZxid = 0x200000008
cversion = 0
dataVersion = 0
aclVersion = 0
ephemeralOwner = 0x0
dataLength = 6
numChildren = 0
详细信息说明
名称 | 描述 |
---|---|
helloA | 数据本身 |
cZxid | 创建时 zxid(znode 每次改变时递增的事务 id) |
ctime | 创建时间 |
mZxid | 最近一次更近的 zxid |
mtime | 最新更新时间 |
pZxid | 子节点的 zxid,如果没有子节点,则就是本身节点的值 |
cversion | 子节点更新次数 |
dataversion | 节点数据更新次数 |
aclVersion | 节点 ACL(授权信息)的更新次数 |
ephemeralOwner | 如果该节点为 ephemeral 节点(临时,生命周期与session一样),ephemeralOwner 值表示与该节点绑定的sessionid。 如果该节点不是 ephemeral 节点,ephemeralOwner值为0 |
4、set命令
set命令往无数据节点写入数据或修改节点中的数据,格式:set /path [data]
往无数据节点写入数据
[zk: 192.168.xx.xxx:2181(CONNECTED) 7] create /testnodeB
Created /testnodeB
[zk: 192.168.xx.xxx:2181(CONNECTED) 8] get /testnodeB
null
[zk: 192.168.xx.xxx:2181(CONNECTED) 9] set /testnodeB haha
[zk: 192.168.xx.xxx:2181(CONNECTED) 10] get /testnodeB
haha
修改节点中的数据
[zk: 192.168.xx.xxx:2181(CONNECTED) 11] set /testnodeB heihei
[zk: 192.168.xx.xxx:2181(CONNECTED) 12] get /testnodeB
heihei
5、delete命令
delete删除节点命令,格式:delete /path
[zk: 192.168.xx.xxx:2181(CONNECTED) 13] delete /testnodeB
[zk: 192.168.xx.xxx:2181(CONNECTED) 14] ls /
[tempnode0000000004, testnodeA, testnodeB0000000002, zookeeper]