本文主要讲解使用Zookeeper自带的客户端zkCli.sh来进行一些Zookeeper的一些基本操作,如创建删除节点等。
# 进入容器
docker exec -it zookeeper1 bash
# 连接zookeeper节点
zkCli.sh -server zoo1:2181
# 查看帮助
help
Zookeeper中主要有以下操作,如下图:
# -s:指定节点是顺序节点
# -e:指定节点时临时节点
# path:指定节点路径
# data:节点存储的数据内容
# acl:该节点的权限策略
create [-s] [-e] path data acl
# 举个例子:在根节点创建一个持久化节点名称为zk_learn,数据是123
create /zk_learn 123
读取主要是展示节点列表和节点内容,与读取相关的命令是ls和get。
# 列出指定节点下面的所有子节点(只能列出下一级),你会发现在根节点下面有一个Zookeeper的保留节点,名称就是zookeeper
# path:指定节点路径
# watch:是否对目录的变动进行监听
ls path [watch]
# 列出子节点和该节点的属性信息
ls2 path [watch]
# 读取指定节点的内容和属性信息
# path:指定节点路径
# watch:是否对节点内容变动进行监听
get path [watch]
下图主要是节点的内容和属性,下面解释一下图中的信息:
更新指定节点的内容,使用set命令。
# 设置指定节点的内容
# path:指定节点路径
# data:设置节点的新内容
# version:指定本次操作是基于ZNode的哪个版本(dataVersion)进行的
set path data [version]
删除指定的节点,使用delete、rmr命令。
# 删除指定的节点,如果该节点下面还有子节点则无法删除
# path:指定节点的路径
# version:指定本次操作是基于ZNode的哪个版本(dataVersion)进行的
delete path [version]
# 删除包含子节点的节点
rmr path
# 设置配额,解释见下一行注释
# 设置指定路径可以创建的子节点数量或存储数据的最大长度,超过也允许创建,只是给出警告日志
# -n:表示限制子节点的个数
# -b:表示限制数据的长度
setquota -n|-b val path
# 列出指定节点的配额
listquota path
# 删除配额
delquota [-n|-b] path