侧边栏壁纸
博主头像
DJ's Blog博主等级

行动起来,活在当下

  • 累计撰写 133 篇文章
  • 累计创建 51 个标签
  • 累计收到 0 条评论

目 录CONTENT

文章目录

【Zookeeper】常用命令

Administrator
2022-04-04 / 0 评论 / 0 点赞 / 91 阅读 / 5101 字

【Zookeeper】常用命令

zkCli

  • zkCli.sh:默认连接本地的服务器地址。
  • zkCli.sh –server ip:port/hostname:连接指定的服务器地址。
zkCli.sh -server centos2
Connecting to centos2
...
Welcome to ZooKeeper!
...

WATCHER::

WatchedEvent state:SyncConnected type:None path:null
[zk: centos2(CONNECTED) 0] 

commands

help

查看所有可用的命令和参数

[zk: centos2(CONNECTED) 13] help
ZooKeeper -server host:port cmd args
        stat path [watch]
        set path data [version]
        ls path [watch]
        delquota [-n|-b] path
        ls2 path [watch]
        setAcl path acl
        setquota -n|-b val path
        history 
        redo cmdno
        printwatches on|off
        delete path [version]
        sync path
        listquota path
        rmr path
        get path [watch]
        create [-s] [-e] path data acl
        addauth scheme auth
        quit 
        getAcl path
        close 
        connect host:port

ls

列出ZooKeeper指定节点下的所有节点。注意,这个命令只能看到指定节点下第一级的所有子节点。

ls path [watch]
path:指定数据节点的节点路径。
watch:监听zk节点子节点的变化,当另外一个客户端在zk节点下面新增节点时,他就会收到变更消息。

[zk: centos2(CONNECTED) 0] ls /
[zookeeper]
# 第一次部署的Zookeeper集群,默认在根节点“/”下面有一个叫做/zookeeper的保留节点。

[zk: centos2(CONNECTED) 11] ls /zk watch
[]
[zk: centos2(CONNECTED) 12] 
WATCHER::

WatchedEvent state:SyncConnected type:NodeChildrenChanged path:/zk

create

创建一个Zookeeper节点。

create [-s] [-e] path data acl
-s:创建顺序节点。
-e:创建ephemeral节点。ephemeral类型的节点不能有子节点。
acl:创建权限控制,缺省情况下,不做任何权限控制。
默认是创建persistent类型的节点。

[zk: centos2(CONNECTED) 4] create /zk "myData“
Created /zk
[zk: centos2(CONNECTED) 1] create -e /aaa "aaa"
Created /aaa
[zk: centos2(CONNECTED) 2] create /aaa/bbb "bbb"
Ephemerals cannot have children: /aaa/bbb

get

获取Zookeeper指定节点的数据内容和属性信息。

get path [path]
path:指定数据节点的节点路径。
watch:设置节点监听,当另外一个客户端改变zk节点的内容时,他就会收到变更消息。

[zk: centos2(CONNECTED) 5] get /zk watched
# 我们创建的字符串,数据节点的数据内容
"myData" 
# Created ZXID,表示该数据节点被创建时的事务ID。
cZxid = 0x600000004 
# Created Time,表示节点被创建的时间。
ctime = Mon Aug 07 14:45:37 CST 2017 
# Modified ZXID,表示该节点最后一次被更新时的事务ID。
mZxid = 0x600000004 
# Modified Time,表示该节点最后一次被更新的时间。
mtime = Mon Aug 07 14:45:37 CST 2017 
# 表示该节点的子节点列表最后一次被修改时的事务ID。注意,只有子节点列表变更了才会变更pZxid,子节点内容变更不会影响pZxid。
pZxid = 0x600000004 
# 子节点的版本号。
cversion = 0 
# 数据节点的版本号。
dataVersion = 0 
# 节点的ACL版本号。
aclVersion = 0 
# 创建该临时节点的会话的SessionID。如果该节点是持久节点,那么这个属性值为0。
ephemeralOwner = 0x0 
# 数据内容的长度。
dataLength = 10 
# 当前节点的子节点个数。
numChildren = 0 
[zk: centos2(CONNECTED) 11] 
WATCHER::

WatchedEvent state:SyncConnected type:NodeDataChanged path:/zk

set

更新指定节点的数据内容。

set path data [version]
path:指定数据节点的节点路径。
data:要更新的新内容。
version:指定本次更新操作是基于ZNode的哪一个数据版本。默认为当前版本

[zk: centos2(CONNECTED) 10] set /zk "zsl"   
cZxid = 0x600000004
ctime = Mon Aug 07 14:45:37 CST 2017
mZxid = 0x600000005
mtime = Mon Aug 07 14:49:20 CST 2017
pZxid = 0x600000004
cversion = 0
# 对该数据节点的数据内容进行一次更新操作,dataVersion加1。注意,即使前后两次变更并没有使得数据内容的值发生变化,dataVersion的值依然会加1。
dataVersion = 1 
aclVersion = 0
ephemeralOwner = 0x0
dataLength = 5
numChildren = 0

[zk: centos2(CONNECTED) 11] get /zk
## 节点内容已经修改了
"zsl" 
cZxid = 0x600000004
ctime = Mon Aug 07 14:45:37 CST 2017
mZxid = 0x600000005
mtime = Mon Aug 07 14:49:20 CST 2017
pZxid = 0x600000004
cversion = 0
dataVersion = 1
aclVersion = 0
ephemeralOwner = 0x0
dataLength = 5
numChildren = 0

delete

删除Zookeeper上的指定节点

delete path [version]
path:指定数据节点的节点路径。
使用这种方式如果要删除的节点下面有子节点,则不允许删除,出现Node not empty的错误提示。

[zk: centos2(CONNECTED) 1] delete /zk
[zk: centos2(CONNECTED) 2] ls /
[zookeeper]

[zk: centos2(CONNECTED) 6] delete /zk
Node not empty: /zk

rmr

同delete命令

rmr path [version]
path:指定数据节点的节点路径。
使用这种方式会递归删除节点和节点下面的所有子节点。

[zk: centos2(CONNECTED) 4] create /zk "myData"
Created /zk
[zk: centos2(CONNECTED) 5] ls /
[zk, zookeeper]
[zk: centos2(CONNECTED) 6] rmr /zk
[zk: centos2(CONNECTED) 7] ls /
[zookeeper]
0

评论区