常用客户端脚本命令
连接:
# 连接本地2181端口
zkCli.sh
# 连接指定ip和端口
zkCli.sh -server ip:port
创建:
使用create命令可以创建一个Zookeeper结点。
create [-s] [-e] path data acl
其中,-s或-e分别指定节点特性:顺序或临时节点。默认情况下,即不添加-s或-e参数的,创建的是持久节点。

执行完上面的命令,就在ZooKeeper的根节点下创建了一个叫作/zk-book的节点,并且节点的数据内容是“123”。 另外,create 命令的最后一个参数是acl,它是用来进行权限控制的,缺省情况下,不做任何权限控制。
读取:
与读取有关的命令包括ls命令和get命令。
ls
使用ls命令,可以列出ZooKeeper指定节点下的所有子节点。当然,这个命令只能看到指定节点下第一级的所有子节点。
ls path [watch]

第一次部署的ZooKeeper集群,默认在根节点“/” 下面有一个叫作/zookeeper的保留节点。
get
使用get命令,可以获取ZooKeeper指定节点的数据内容和属性信息。
get path [watch]

从上面的输出信息中,我们可以看到,第一行是节点/zk-book的数据内容,其他几行则是创建该节点的事务ID (cZxid)、 最后一次更新该节点的事务ID (mZxid) 和最后- -次更新该节点的时间(mtime) 等属性信息。
更新:
使用set命令,可以更新指定节点的数据内容。
set path data [version]
其中,data就是要更新的新内容。注意,set命令后面还有一个version参数,在ZooKeeper中,节点的数据是有版本概念的,这个参数用于指定本次更新操作是基于ZNode的哪一个数据版本进行的。

执行完以上命令后,节点/zk-book的数据内容就已经被更新成“456”了。在输出信息中,dataVersion的值由原来的0变成了1,这是因为刚才的更新操作导致该节点的数据版本也发生了变更。
删除:
使用delete命令,可以删除Zookeeper上的指定结点。
delete path [version]

执行完以上命令后,就可以把/zk-book这个节点成功删除了。但是这里要注意的一点是,要想删除某一个指定节点,该节点必须没有子节点存在。
这可以通过执行如下命令来进行验证:

本文介绍了Zookeeper中常用的客户端脚本命令,包括连接、创建、读取、更新和删除节点的操作方法。通过这些命令,用户可以有效地管理和操作Zookeeper集群。
1526

被折叠的 条评论
为什么被折叠?



