Zookeeper 客户端命令
zookeeper 的客户端命令用于在 zookeeper 服务上执行相应操作。
执行 zookeeper 命令,首先要打开一个新的 session 会话,进入终端。
$ sh zkCli.sh
1. ls 命令
ls 命令用于查看某个路径下目录列表。
格式:
ls path
- path:代表路径。
$ ls /codebaoku
2. ls2 命令
ls2 命令用于查看某个路径下目录列表,它比 ls 命令列出更多的详细信息。
格式:
ls2 path
- path:代表路径。
$ ls2 /codebaoku
3. get 命令
get 命令用于获取节点数据和状态信息。
格式:
get path [watch]
- path:代表路径。
- [watch]:对节点进行事件监听。
以下实例查看同时开启两个终端。
终端一:
$ get /codebaoku watch
在终端二对此节点进行修改:
$ set /codebaoku 1
终端一自动显示 NodeDataChanged 事件:
4. stat 命令
stat 命令用于查看节点状态信息。
格式:
stat path [watch]
- path:代表路径。
- [watch]:对节点进行事件监听。
以下实例查看 /codebaoku 节点状态:
$ stat /codebaoku
5. create 命令
create 命令用于创建节点并赋值。
格式:
create [-s] [-e] path data acl
- [-s] [-e]:-s 和 -e 都是可选的,-s 代表顺序节点, -e 代表临时节点,注意其中 -s 和 -e 可以同时使用的,并且临时节点不能再创建子节点。
- path:指定要创建节点的路径,比如 /codebaoku。
- data:要在此节点存储的数据。
- acl:访问权限相关,默认是 world,相当于全世界都能访问。
以下实例添加临时顺序节点:
$ create -s -e /codebaoku 0
创建的节点既是有序,又是临时节点。
6. set 命令
set 命令用于修改节点存储的数据。
格式:
set path data [version]
- path:节点路径。
- data:需要存储的数据。
- [version]:可选项,版本号(可用作乐观锁)。
以下实例开启两个终端,也可以在同一终端操作:
$ get /codebaoku
下图可见,只有正确的版本号才能设置成功:
$ set /codebaoku 0 1 $ set /codebaoku 0 2 $ set /codebaoku 0 10 $ set /codebaoku 0 6
7. delete 命令
delete 命令用于删除某节点。
格式:
delete path [version]
- path:节点路径。
- [version]:可选项,版本号(同 set 命令)。
以下实例删除 /codebaoku 节点的子节点:
$ ls /codebaoku $ delete /codebaoku/child $ get /codebaoku/child
zookeeper 支持一些特定的四字命令进行交互,用于获取 zookeeper 服务的当前状态及相关信息,用户可以通过客户端的 telenet 或者 nc(netcat) 向 zookeeper 提交相应的命令。1. 四字命令格式:echo [command] | nc [ip] [port]。2. 常用四字命令:conf 3.3.0版本引入的。打印出服务相关配置的详细信息。