Zookeeper - 节点

目录

零、前置操作

1.群起服务端

2.启动客户端

一、命令行语法

二、节点信息 

三、节点类型

四、节点操作

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

创建节点

获取节点的信息

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

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

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

5.修改节点值

6.删除和查看节点

删除

查看节点


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

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


零、前置操作

1.群起服务端

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

 zk.sh start

Zookeeper - 节点_第1张图片

确认一下:

zk.sh status

Zookeeper - 节点_第2张图片


2.启动客户端

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

启动后的效果: 

Zookeeper - 节点_第3张图片

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

./zkCli.sh -server hadoop102:2181

Zookeeper - 节点_第4张图片


一、命令行语法

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

二、节点信息 

ls /

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

ls -s /

Zookeeper - 节点_第5张图片

详细解释如下: 

#创建节点的事务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

Zookeeper - 节点_第6张图片


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

创建时多加一个 -s :

create -s /rank1/rank3 "1.3"

查看一下:

ls /rank1

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

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

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

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

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

Zookeeper - 节点_第7张图片


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

create -e /rank1/rank4 "1.4"


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

create -es /rank1/rank5 "1.5"

看一眼:

Zookeeper - 节点_第8张图片

然后退出重进查看:

quit
./zkCli.sh -server hadoop102:2181

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


5.修改节点值

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

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

Zookeeper - 节点_第9张图片

修改成功。


6.删除和查看节点

删除

delete /rank1/rank30000000001

然后咱们删除rank1看看:

delete /rank1

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

deleteall /rank1

查看节点

stat /rank1

Zookeeper - 节点_第10张图片

你可能感兴趣的:(Zookeeper,Linux,java-zookeeper,zookeeper,java,服务器,linux)