Zookeeper 常用命令
- 1.ls 命令
- 2.create 命令
- 3.get 命令
- 4.set 命令
- 5.delete 命令
1.ls 命令
命令格式:
- ls /path
功能描述:
- 使用
ls
命令可以查看Zookeeper中指定路径下的子节点列表。 - 在ZooKeeper的shell客户端中,你需要提供一个路径来查看它下面的子节点。
- 例如,
ls /
会列出Zookeeper根路径下的子节点。
代码示例:
[zk: localhost:2181(CONNECTED) 0] ls /
[zookeeper, myPath, anotherNode]
这条命令列出了根目录(/
)下所有的子节点,包括zookeeper
(系统保留节点)、myPath
和anotherNode
。
2.create 命令
命令格式:
- create [-e] [-s] /path [data]
功能描述:
create
命令用于在Zookeeper中创建一个新的znode。-e
选项表示创建的是一个临时节点,这种类型的节点会在创建它的客户端会话结束时被自动删除。-s
选项表示创建的是一个顺序节点,Zookeeper会自动在节点名后面增加一个递增的数字。/path
是节点的路径。[data]
是存储在节点中的数据。
代码示例:
[zk: localhost:2181(CONNECTED) 1] create /test "123"
Created /test
[zk: localhost:2181(CONNECTED) 2] create -e /temp "ephemeral data"
Created /temp
[zk: localhost:2181(CONNECTED) 3] create -s /sequenceNode "seq data"
Created /sequenceNode0000000000
第一个命令创建了一个名为/test
的持久节点,并附带了数据"123"
。
第二个命令创建了一个名为/temp
的临时节点,带有数据"ephemeral data"
。
最后一个命令创建了一个名为/sequenceNode0000000000
的顺序节点,并附带了数据"seq data"
(真实创建的节点名会根据现有的节点数目自动增加序号)。
3.get 命令
命令格式:
- get /path
功能描述:
get
命令用于获取指定znode的数据内容和元数据信息。/path
是节点的路径。
代码示例:
[zk: localhost:2181(CONNECTED) 4] get /test
"123"
cZxid = 0x7a
ctime = Tue Aug 10 10:00:00 UTC 2021
mZxid = 0x7a
mtime = Tue Aug 10 10:00:00 UTC 2021
pZxid = 0x7a
cversion = 0
dataVersion = 0
aclVersion = 0
ephemeralOwner = 0x0
dataLength = 3
numChildren = 0
这个命令返回了/test
节点的数据("123")以及节点的详细元数据信息。
4.set 命令
命令格式:
- set /path data
功能描述:
set
命令用于更新指定znode的数据内容。/path
是节点的路径。data
是要更新到节点的新数据。
代码示例:
[zk: localhost:2181(CONNECTED) 5] set /test "new data"
cZxid = 0x7a
ctime = Tue Aug 10 10:00:00 UTC 2021
mZxid = 0x7b
mtime = Tue Aug 10 10:01:00 UTC 2021
pZxid = 0x7a
cversion = 0
dataVersion = 1
aclVersion = 0
ephemeralOwner = 0x0
dataLength = 8
numChildren = 0
以上命令将/test
节点的数据更新为"new data"。
5.delete 命令
命令格式:
- delete /path
功能描述:
delete
命令用于删除指定的znode。/path
是需要被删除的节点的路径。
代码示例:
[zk: localhost:2181(CONNECTED) 6] delete /test
这条命令将会删除/test
节点。需要注意的是,你只能删除没有子节点的znode。如果尝试删除有子节点的znode,操作将会失败,并且会收到一个错误提示。