最好配置上环境变量

Snip20180528_20.png

连接操作:

zkCli.sh -timeout 1000 -r -server 127.0.0.1
# -timeout 设置客户端和服务器之间的超时时长,单位毫秒
# -r 只读模式,不加就是读写模式
# -server IP:PORT 要连接的服务器

Snip20180528_18.png

查询操作:

ls /   # 查看指定路径下的节点

Snip20180528_21.png

stat PATH # 查看指定节点的状态信息

Snip20180528_22.png

get PATH # 获取指定节点的数据,它会包括状态信息

Snip20180528_23.png

ls2 PATH # 列出子节点同时输出当前节点的状态信息

Snip20180528_24.png

创建节点:

create [-s] [-e] PATH DATA acl # 路径和数据,数据可以为空  -s是顺序节点(会自动在名称后面加序列号) -e是临时节点,不加则是永久节点

我这里在原有/zktest节点下建立了test1子节点,其数据内容为test1

Snip20180528_25.png

查看一下数据

Snip20180528_26.png

修改节点:

set PATH DATA [version] # 路径和数据,可以设置版本号也可以不设置

Snip20180528_27.png

修改版本号

Snip20180528_28.png

set /zktest/test1 test002 2
# 这里要么不填写版本号要么版本号就要和上次一致,这里的版本号不是说修改版本号,而是修改版本号为2的 /zktest/test1 节点的数据,
# 这里的版本号是一个条件

Snip20180528_29.png

删除操作:

delete PATH [version] # 删除指定路径的节点,且节点必须为空,如果要删除含有子节点的节点则不行
rmr PATH # 递归删除

配额设置:

比如数据内容不能无限的大,子节点不能无限的多这类设置。

setquota -n|-b val path  # -n 是限制子节点个数  -b是限制节点数据长度  val是额度  path 是节点

Snip20180531_32.png

奇怪的是设置的子节点数量为2,可是居然能建立3个。其实它的限制只是会在日志中记录,并不会抛出错误,所以就算设置了配置还是可以建立,下面是日志显示

Snip20180531_33.png

# 显示节点配额信息
listquota PATH

Snip20180531_35.png

说明:

  • 第一行是 count=2 子节点限制为2, bytes=-1,表示数据长度没有限制

  • 第二行是 count=4 当前子节点包含自己本身一共有4个节点,其实该节点下只有3个子节点,这里多出的一个就是节点自己,bytes=11 表示包含子节点和自己的数据长度为11,所以第二行显示的是包含自己在内的总数。

# 删除配额设置
delquota [-n|-b] PATH