开发学院

您的位置:首页>教程>正文

教程正文

Zookeeper:CLI(一)

  ZooKeeper命令行界面(CLI)用于与ZooKeeper集成交互,用于开发目的。它对于调试和使用不同的选项非常有用。

  要执行管理员命令行界面操作,首先打开管理员服务器(“bin/zkServer.sh start”),然后打开管理员客户端(“bin/zkCli.sh”)。客户端启动后,您可以执行以下操作:

  •   创建znodes

  •   获取数据

  •   监控znode的改变

  •   设置数据

  •   创建znode的子集

  •   查看znode的子集

  •   检查状态

  •   删除znode

  现在让我们用一个例子一个接一个地试试上面的命令。

创建znodes

  用指定的路径创建一个znode。flag参数指定创建的znode是短暂的、持久的还是连续的。默认情况下,所有znodes都是持久的。

  当会话到期或客户端断开连接时,短暂的znodes(标志:e)将被自动删除。

  顺序znode保证znode路径是唯一的。

  ZooKeeper集成将在znode路径中添加序列号和10位数字填充。例如,znode路径/myapp将转换为/my app 00000000001,下一个序列号将为/my app 000000002。如果没有指定标志,则znode被认为是持久的。

语法

create /path /data

例子

create /FirstZnode “Myfirstzookeeper-app”

输出

[zk: localhost:2181(CONNECTED) 0] create /FirstZnode “Myfirstzookeeper-app”
Created /FirstZnode

  要创建顺序znode,请添加如下所示的-s 标志。

语法

create -s /path /data

例子

create -s /FirstZnode second-data

输出

[zk: localhost:2181(CONNECTED) 2] create -s /FirstZnode “second-data”
Created /FirstZnode0000000023

  要创建一个短暂的Znode,添加如下所示的-e标志。

语法

create -e /path /data

例子

create -e /SecondZnode “Ephemeral-data”

输出

[zk: localhost:2181(CONNECTED) 2] create -e /SecondZnode “Ephemeral-data”
Created /SecondZnode

  请记住,当客户端连接丢失时,短暂的znode将被删除。您可以尝试退出动物园管理员命令行界面,然后重新打开命令行界面。

获取数据

  它返回znode的关联数据和指定znode的元数据。您将获得数据上次修改时间、修改地点以及数据相关信息等信息。此命令行界面还用于分配监视,以显示有关数据的通知。

语法

get /path

实例

get /FirstZnode

输出

[zk: localhost:2181(CONNECTED) 1] get /FirstZnode
“Myfirstzookeeper-app”
cZxid = 0x7f
ctime = Tue Sep 29 16:15:47 IST 2015
mZxid = 0x7f
mtime = Tue Sep 29 16:15:47 IST 2015
pZxid = 0x7f
cversion = 0
dataVersion = 0
aclVersion = 0
ephemeralOwner = 0x0
dataLength = 22
numChildren = 0

  要访问顺序znode,您必须输入znode的完整路径。

实例

get /FirstZnode0000000023

输出

[zk: localhost:2181(CONNECTED) 1] get /FirstZnode0000000023
“Second-data”
cZxid = 0x80
ctime = Tue Sep 29 16:25:47 IST 2015
mZxid = 0x80
mtime = Tue Sep 29 16:25:47 IST 2015
pZxid = 0x80
cversion = 0
dataVersion = 0
aclVersion = 0
ephemeralOwner = 0x0
dataLength = 13
numChildren = 0