(1)客户端链接服务器:
./zkCli.sh
(2)ls命令:
查看该节点下有什么节点,/ 表示zookeeper的根节点,下面就表示查看根节点下有什么节点
(3)ls2命令:
查看该节点下有什么节点,并输出节点的状态信息
ZxId表示该节点的名称(命令前面带c表示创建时的信息)
time表示该节点的创建时间 (命令前面带c表示创建时的信息)
pZxId表示该节点的子节点的id
cVersion表示子节点的版本号
dataVersion表示该节点数据的版本号
aclVersion表示该节点权限的版本号
dataLength表示数据的长度
numChildren表示该节点有几个子节点
(4)get命令
获取该节点中所存储的内容,并输出节点的状态信息,没有信息就输出空
(5)stat命令
获取该节点的状态信息
zk特性-session的基本原理
session就是客户端与服务端之间的一个链接,有一个超时时间
客户端与服务端之间存在ping/pong机制,ping/ping机制断开后,session进入过期时间的倒计时
倒计时结束之后,zk会将临时节点删除掉
<1>创建节点
语法:create [-e] [-s] path data acl
create -s 表示创建的节点具有顺序性
create -e表示创建的节点为临时节点,不加为永久节点
path表示节点路径
data表示该节点的数据
acl表述权限
表示在根目录下创建imooc节点,数据为imooc-data,因为没有加-e表示不是临时节点
ephemeralOwner为0x0表示为永久的节点,不是0x0就表示为临时节点
表示创建的节点具有顺序性,,zk会默认在节点名字后面加上序号,如下所示
<2>修改节点的值
语法:set path data 【version】设置当前节点的值,版本号(dataVersion)可以不写,默认加1
版本号version的作用,用来控制并发,并发情况下,只有版本号与当前节点的版本号一致才能设置成功,否则会报错。
根据版本号set成功后,dataVersion会加一,如下
<3>删除节点
语法:delete path 【版本号】
版本号作用同上:有了版本号,在并发情况下,会控制并发。不加版本号,该节点会被直接删除,如下