Zookeeper命令行常用操作

一、集群管理

zkServer.sh

位于Zookeeper安装目录下的bin/zkServer.sh用于服务器管理,可以启动、停止,以及查看服务状态。

bin/zkServer.sh start		#启动
bin/zkServer.sh status	#查看服务状态
bin/zkServer.sh stop	   #停止

zkCli.sh

位于Zookeeper安装目录下的bin/zkCli.sh用于客户端连接到Zookeeper服务。

bin/zkCli.sh -server 127.0.0.1:2181

二、数据操作

接到Zookeeper后可以进行的数据操作都能通过"help"命令查看到,这里用其中几个命令简单演示一下。

create

create命令可以用于创建znode。

create [-s] [-e] path data acl

-e表示创建临时节点,例如:

create -e /zk-test/temporary "test21"

注意,一个临时节点会在会话过期或关闭时自动被删除。刚刚我们在命令行创建的这个znode,如果退出连接然后重新连接,会发现节点已经不存在了。

-s表示创建有序节点,例如:

create -s /zk-test/sequence/task- "task"

自动创建以"task-"为前缀的有序节点,从0000000000开始计数,用10位十进制表示。

get

get命令用于获取节点内容。下图所示的节点存储的内容为"456"。

cZxid - 创建了这个节后,zookeeper为这个节点分配的id

ctime - create time,节点创建的时间

mZxid - 修改后,zookeeper为这个节点分配的id

mtime - 节点修改的时间,当没有修改过,则创建时间和修改时间是一样的

pZxid - 子节点的id

cversion - 子节点的版本号

dataVersion - 当前数据的版本号

aclVersion - 权限版本号

ephemeralOwner - 根据值可区分是否是临时节点

dataLength - 数据的长度

numChildren - 下面有几个子节点

set

set命令用于修改节点内容。

ls

ls命令的作用除了常用的查看znode结构以外,还可以监视znode的子节点的变化情况。

ls path [watch]

例如:

ls /zk-test true

对名为/zk-test的节点设置子节点监听,原本存在temporary, temporary2两个子节点,当用另外一个终端再创建一个名为/zk-test/temporary3的节点时,会检测到子节点的变化。

stat

stat命令可以对节点的变化情况设置监听。

stat path [watch]

例如:

stat /zk-test/temporary true

如上图所示,当我们在某个其他终端已经创建了名为/zk-test/temporary的znode后,再尝试创建同名znode会告诉我们该节点已经存在。于是我们在该节点上设置一个监视点,路径后面添加参数true。当关闭另外一个终端的连接时,该临时节点被删除,我们会观察到NodeDeleted事件的输出,同时/zk-test/temporary节点已经不存在了。现在在此终端可以再次创建名为/zk-test/temporary的znode了。

delete

delete 可以删除znode,注意无法删除一个包含子节点的节点。

posted @ 2021-12-29 17:45  朱又炖粉条  阅读(790)  评论(0)    收藏  举报