zk学习之常用命令

(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 【版本号】

版本号作用同上:有了版本号,在并发情况下,会控制并发。不加版本号,该节点会被直接删除,如下

猜你喜欢

转载自blog.csdn.net/qq_32182461/article/details/82690638