ZK客户端操作

之前说过ZK说白了其实就是存储数据的,而且存储形式和文件系统很像,例如:

/
|__zknode1
  |__zknode11
  |__...
|__zknode2
|__...

其中,我们创建的节点可以存储数据,因此一份数据就对应的一个唯一路径,例如/zknode1/zknode11

那么,我们使用zkCli.sh操作ZK上的数据,其实和在Linux的shell上操作文件一样。

使用ZK客户端连接ZK集群

我们使用任意一个ZK节点的zkCli.sh都可以连接到ZK集群上,默认连接本机2181端口,客户端发出操作后,这些集群节点的数据是会自动以主从形式同步的。

./zkCli.sh

查看命令帮助

直接在客户端中键入help,即可列出所有可用命令:

这里介绍写常见用法:

  • ls:查看当前路径节点
  • ls2:查看当前路径节点详细信息
  • get [watch]:获取节点数据,指定watch表示监听数据变化,监听只生效一次
  • set :设置节点数据
  • rmr :递归删除一个节点
  • create [-s] [-e] :创建一个节点,必须在创建时指定节点数据
  • -s:使用节点名序号,指定该参数创建的节点名会自动带上递增的序号,用于记录创建顺序
  • -e:临时节点,客户端下线时,该节点会删除,通常用于记录服务是否在线
  • stat :属于一个路径节点的信息
  • quit:退出客户端

其实,这个客户端一般只用于查看信息,因为设置信息一般是通过程序代码实现的。网上甚至有些开源的图形界面客户端,不过用的人不多。

增删改查节点路径和数据演示

这个就非常简单了,我只举几个例子。

创建一个节点:

create /node1 "hello,world"

创建一个该节点的节点:

create /node1/node11 "hello"

列出根路径:

ls /

在其它客户端监听一个节点:

get /node1 watch

修改该节点数据(观察监听客户端的变化):

set /node1 "hello"

删除该节点:

delete /node1

递归删除节点:

rmr /node1
作者:Gacfox
版权声明:本网站为非盈利性质,文章如非特殊说明均为原创,版权遵循知识共享协议CC BY-NC-ND 4.0进行授权,转载必须署名,禁止用于商业目的或演绎修改后转载。