0


ZooKeeper中节点的操作命令(查看、创建、删除节点)

 天行健,君子以自强不息;地势坤,君子以厚德载物。

每个人都有惰性,但不断学习是好好生活的根本,共勉!


文章均为学习整理笔记,分享记录为主,如有错误请指正,共同学习进步。

文章目录


ZooKeeper相关文章参考:
ZooKeeper下载、安装、配置和使用
ZooKeeper配置文件zoo.cfg参数详解

启动server服务以及cli客户端
在cli客户端窗口中操作以下命令

1. help帮助命令

输入help可呼出所有相关命令
可根据需要找到指定的命令,然后输入找到的命令,就可继续往下查看对应命令的使用
在这里插入图片描述
如ls命令来说,继续输入ls则会看到ls命令的详细用法
在这里插入图片描述

2. ls查看节点信息

语法:

ls [-s][-w][-R] path
-s

表示查看详细信息,可省略

-w

表示只看节点名称,可省略

-R

表示查看根路径的所有节点及子节点,可省略

path

表示节点路径,可以是根节点/,也可以是子节点路径如/a,或者/a/b/c

2.1 查看根节点信息

ls /

在这里插入图片描述

2.2 查看根节点的详细信息

ls -s /

在这里插入图片描述

参数详细描述如下:

[zookeeper]

表示子节点名称数组如果多个则在中括号中以逗号隔开
接下来是节点的状态信息,也称为stat结构体

cZxid = 0x0

表示创建znode的事务的zxid(ZooKeeper Transaction ID)
事务ID是ZooKeeper每次更新操作/事务操作分配一个全局唯一的id,表示zxid,值越小表示越先执行
0x0表示十六进制数0

ctime = Thu Jan 01 08:00:00 CST 1970

表示创建时间

mZxid = 0x0

表示最后一次更新的zxid

mtime = Thu Jan 01 08:00:00 CST 1970

表示最后一次更新的时间

pZxid = 0x0

表示最后更新的子节点的zxid

cversion = -1

表示子节点的变化号,即子节点被修改的次数,-1表示未被修改过

dataVersion = 0

表示当前节点的变化号,0表示未被修改过

aclVersion = 0

表示访问控制列表的变化号,access control list

ephemeralOwner = 0x0

表示如果临时节点,表示当前节点的拥有者的sessionId

dataLength = 0

表示数据长度

numChildren = 1

表示子节点的数量

2.3 查看根节点的名称

ls -w /

在这里插入图片描述

2.4 查看根节点的所有节点及子节点

ls -R /

在这里插入图片描述

3. get获取节点信息

语法:

get [-s][-w] path

如获取根节点信息

get -s /

在这里插入图片描述

4. create创建节点

语法:

create 节点名称 节点内容

创建节点,如果节点内容含有空格则需要将其用双引号括起来
如创建名为

a1

的节点,内容为

a
create /a1 a

然后获取子节点

a1

的信息,看到数据长度

dataLength

a

的长度

1

在这里插入图片描述
创建子节点

a2

内容为

aa bb cc

,加双引号

""

,不加会报错

create /a2 "aa bb cc"

使用

get

命令查看数据长度

dataLength

8

aa bb cc

的长度,包含了空格在内
在这里插入图片描述

5. create -e创建临时节点

语法:

create -e 节点名称 节点内容

创建临时节点,当连接断开后,临时节点会被自动删除

如下创建临时节点

a3

内容为

aaa
create -e /a3 aaa

然后查看所有节点列表

ls -s /

在这里插入图片描述
此时子节点

a3

已经创建好
关闭服务重启客户端,在zkCli的窗口按快捷键

Ctrl+C

关闭服务,

zkCli.cmd

回车启动
在这里插入图片描述
再次查看根节点所有节点数据

ls -s /

在这里插入图片描述
临时节点

a3

经没了

6. create -s创建顺序编号节点

语法:

create -s 节点路径 节点内容

创建顺序编号节点,即带序号的节点,序号的规则为新建节点的同级节点的数量的排序,从

0

开始,且包括临时节点和被删除的节点(即被删除后的节点也会算作序号)
如创建顺序节点

/a4 aaaa
create -s /a4 aaaa

此时看到新建节点的名称变为

a40000000003

然后查看根节点的所有节点数据

ls -s /

在这里插入图片描述

zookeeper节点不算在其中
因为同级的节点数为

a1

a2

a3

(临时节点,重启后已经没了)共三个节点
依次排序为

0
  • 1
    
  • 2
    

a4

的序号为

a4

加上分配的序号

0000000003

顺序编号节点的特点如下:

  • 顺序编号节点会紧跟在节点名称后面,节点最终名称为节点名+序号,如/a40000000003
  • 顺序编号是一个递增的计数器
  • 顺序编号是由父节点维护,从已有的子节点个数开始(包括可临时节点和被删除的节点)
  • 如果子节点为空,则从0000000000开始,依次递增1
  • 在分布式系统中,顺序编号可用于为所有事件进行全局排序,客户端可根据序号推断事件的顺序

7. delete删除节点(空节点)

语法:

delete 节点路径
注:delete删除节点只针对于空节点,非空节点(其中含有子节点)delete删除不掉

先创建一些节点及子节点

create /a1/b1 b

在这里插入图片描述
查看根节点下的所有节点
在这里插入图片描述
如图可看到节点

a1

,

a2

,

a40000000003

,

a5

,

a6

,

zookeeper

其中

a1

a2

节点中含有子节点
我们先删除含有子节点的

a1

节点

delete /a1

报错,节点不是空的,即非空节点用delete删不掉
在这里插入图片描述
现在删不含子节点(也就是空节点)的节点

a5
delete /a5

没报错,表示删除成功,然后查看所有节点看

a5

还在不在,已经不在了
在这里插入图片描述

8. deleteall删除节点(非空节点)

语法:

deleteall 节点路径

先查看非空节点

a1

中的子节点,确定它是含有子节点的非空节点

ls -s /a1

在这里插入图片描述
如图看到

a1

中含有

b1

,

b2

,

b3

三个子节点,说明它是一个非空节点
使用deleteall删除

a1
deleteall /a1

在这里插入图片描述
然后查看根节点下的所有节点,发现

a1

节点已经没了

9. stat查看节点状态

查看节点状态,这个跟

ls

get

的命令感觉一样

stat 节点路径

stat /

在这里插入图片描述


感谢阅读,祝君暴富!

本文转载自: https://blog.csdn.net/mo_sss/article/details/134056924
版权归原作者 寒山李白 所有, 如有侵权,请联系我们删除。

“ZooKeeper中节点的操作命令(查看、创建、删除节点)”的评论:

还没有评论