Zookeeper - 节点

目录

零、前置操作

1.群起服务端

2.启动客户端

一、命令行语法

二、节点信息 

三、节点类型

四、节点操作

1.分别创建2个普通节点(持久节点 + 无序号)

创建节点

获取节点的信息

2.创建带序号的节点(持久节点 + 带序号)

3.创建短暂节点(短暂节点 + 无序号)

4.创建短暂节点(短暂节点 + 带序号)

5.修改节点值

6.删除和查看节点

删除

查看节点


zk的安装和集群的搭建 :  Zookeeper - 本地安装与参数配置

                                        Zookeeper - 集群搭建 + 群起集群脚本


零、前置操作

1.群起服务端

咱们先把服务端起起来,这里用的群起脚本在集群搭建那篇博客中有展示:

 zk.sh start

确认一下:

zk.sh status


2.启动客户端

 cd /opt/module/zookeeper-3.5.7/bin/
./zkCli.sh

启动后的效果: 

可以看到这里是本地起了一个2181客户端,咱们换一种方式来起,方便我们查看是具体哪一台服务器上的操作,ctrl+c退出去然后重进:

./zkCli.sh -server hadoop102:2181


一、命令行语法

基本语法功能描述
help显示所有操作命令
ls path使用 ls 命令来查看当前 znode 的子节点 [可监听] -w 监听子节点变化 -s 附加次级信息
create普通创建 -s 含有序列 -e 临时(重启或者超时消失)
get path获得节点的值 [可监听] -w 监听节点内容变化 -s 附加次级信息
set设置节点的具体值
stat查看节点状态
delete删除节点
deleteall递归删除节点

二、节点信息 

ls /

这里可以看到一个Zookeeper节点: 

ls -s /

详细解释如下: 

#创建节点的事务zxid,每次修改 ZooKeeper 状态都会产生一个 ZooKeeper 事务 ID。事务 ID 是 
#ZooKeeper 中所有修改总的次序。每次修改都有唯一的 zxid,如果 zxid1 小于 zxid2,那么 
#zxid1 在 zxid2 之前发生
[zookeeper]cZxid = 0x0

#znode 被创建的毫秒数(从 1970 年开始)
ctime = Thu Jan 01 08:00:00 CST 1970

#znode 最后更新的事务 zxid
mZxid = 0x0

#znode 最后修改的毫秒数(从 1970 年开始)
mtime = Thu Jan 01 08:00:00 CST 1970

#znode 最后更新的子节点 zxid
pZxid = 0x0

#znode 子节点变化号,znode 子节点修改次数
cversion = -1

#znode 数据变化号
dataVersion = 0

#znode 访问控制列表的变化号
aclVersion = 0

#如果是临时节点,这个是 znode 拥有者的 session id。如果不是
临时节点则是 0
ephemeralOwner = 0x0

#znode 的数据长度
dataLength = 0

#znode 子节点数量
numChildren = 1

三、节点类型

类型可分为两类 '持久' '短暂' 。两者之下还有 '有序号' '无序号' 之分。持久有序号、持久无序号、短暂有序号、短暂无序号。这里提到的编号是一个顺序标识,znode名称 后会附加一个值,顺序号是一个单调递增的计数 器,由父节点维护。

持久(Persistent) :客户端和服务器端断开连接后,创建的节点不删除

├── 持久无序号:客户端与Zookeeper断开连接后,该节点依旧存在
└── 持久有序号:客户端与Zookeeper断开连接后,该节点依旧存 在,只是Zookeeper给该节点名称进行顺序编号

短暂(Ephemeral):客户端和服务器端断开连接后,创建的节点自己删除 

├── 短暂无序号:客户端与Zookeeper断开连接后,该节点被删除
└── 短暂有序号:客户端与 Zookeeper 断开连接后 , 该 节 点 被 删 除 , 只 是 Zookeeper给该节点名称进行顺序编号。


四、节点操作

1.分别创建2个普通节点(持久节点 + 无序号)

创建节点

这里创建了一个名叫rank1的节点:

#创建语法     节点名    节点值
create       /rank1   "1"

创建完成之后可以 ls 查看一下:

ls /

可以看到里面多了一个叫做rank1的节点,节点创建成功。再在rank1下创建一个叫rank2额节点:

create /rank1/rank2 "1.2"
ls /rank1

获取节点的信息

get -s /rank1


2.创建带序号的节点(持久节点 + 带序号)

创建时多加一个 -s :

create -s /rank1/rank3 "1.3"

查看一下:

ls /rank1

可以看到这里的rank3后面自己加上了序号。那么这个序号有什么用呢,我们重复上面的操作,再创建一个同名的节点 rank3 :

可以看到并没有因为名称重复而创建失败,而是序号自增。

因为是持久节点,所以我们退出客户端再重新进去,看看节点是否还存在:

quit
./zkCli.sh -server hadoop102:2181
ls -R /

可以看到都是存在的,并没有被删除: 


3.创建短暂节点(短暂节点 + 无序号)

create -e /rank1/rank4 "1.4"


4.创建短暂节点(短暂节点 + 带序号)

create -es /rank1/rank5 "1.5"

看一眼:

然后退出重进查看:

quit
./zkCli.sh -server hadoop102:2181

可以看到刚刚创建的4和5已经被删除:


5.修改节点值

咱们把 /rank1/rank2 原本的1.2改成2.1:

set /rank1/rank2 "2.1"
get -s /rank1/rank2

修改成功。


6.删除和查看节点

删除

delete /rank1/rank30000000001

然后咱们删除rank1看看:

delete /rank1

报错了,因为这里 要使用递归删除(rank节点下还存在其他的节点):

deleteall /rank1

查看节点

stat /rank1

  • 2
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

不会调制解调的猫

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值