Zookeeper篇

您所在的位置:网站首页 能够提供两个节点的方法 Zookeeper篇

Zookeeper篇

2024-06-18 06:35| 来源: 网络整理| 查看: 265

Znode节点概念

Zookeeper是一个分布式的协调服务,它通过维护一个分层的数据结构来存储和管理数据。这个数据结构被称为znode节点。每个znode节点在Zookeeper的命名空间中都有一个唯一的路径,类似于文件系统中的路径。

Zookeeper中的znode节点有以下几种类型:

永久节点(Persistent znode):永久节点在创建后将一直存在于Zookeeper中,直到被显示删除。它们用于存储持久化数据,并且能够拥有子节点。

临时节点(Ephemeral znode):临时节点在创建它的客户端断开连接后将自动被删除。它们用于临时性的数据存储,例如客户端的临时状态或会话信息。

顺序节点(Sequential znode):顺序节点在创建后会自动分配一个唯一的递增编号。这些编号被用于在有序的集合中进行排序,以便在分布式环境中实现有序操作。

除了以上类型之外,znode节点还可以具有其他特性:

数据(Data):每个znode节点可以存储一些数据,它们以字节数组的形式存在。

版本号(Version):每个znode节点都有一个与之关联的版本号,用于实现乐观并发控制。

访问控制列表(ACL):Zookeeper使用ACL来控制对znode节点的访问权限。

监听(Watcher):Zookeeper允许客户端对特定的znode节点注册监听器,以便在节点发生变化时得到通知。

znode节点是Zookeeper中的核心概念,它提供了一个灵活且可靠的分布式数据存储和协调机制,广泛应用于分布式系统中的各种场景。

进入到zkCli.sh客户端,通过下面的命令可以查看zk节点信息,默认是一个节点

ls /

zkCli.sh常见命令 create 节点名路径

这个时候通过ls /命令可以再次查看根路径下的节点信息,不难发现,现在是一共有两个节点了

2、创建并保存数据

create 节点名路径 数据

3、获取节点中的数据

get 节点名路径 #注意:创建和获取数据,节点前都必须加上路径符号/,否则就会报错

创建节点命令 持久节点和持久序列节点

一、持久节点 1、认识持久节点 创建出的节点,在会话结束后依然存在,用来保存数据

2、创建持久节点

create 节点路径 #就是不带任何参数执行创建命令,创建出的节点就叫做持久节点

二、持久序号节点 1、认识持久序号节点 创建出的节点,根据先后顺序,会在节点后面加上一个数值,越后执行数值越大,适用于分布式锁的应用场景,单调递增

2、创建持久序号节点

ctreate -s 节点路径

临时节点(重点)

一、认识临时节点 临时节点是在本次会话中一直存在,会话结束后,自动被删除的。通过这个特性,zk可以实现服务注册与发现的效果,这里就涉及到了临时节点如何维持心跳的问题!

二、临时节点在会话结束后消失的原理 运用了session的工作机制

二、创建临时节点方法

create -e 节点路径 #为什么是-e?因为取得是ephemeral的首字母

临时序号节点

一、认识临时序号节点 类似于持久化序号节点,主要应用于临时的分布式锁

二、创建方式

create -e -s 节点路径

Container容器节点

一、什么是容器节点 当容器中没有任何子节点,该容器节点会被zk定期删除(60s)

二、创建方式

create -c 节点路径

三、验证当这个容器节点下的子节点全部删除后,容器节点会不会被zk服务器删除 1、创建子节点

2、删除子节点 删除子节点的语法是

delete 节点路径

3、验证容器节点是否存在

TTL节点

一、定义 可以指定节点的到期时间,到期后会被zk定时删除。只能用过系统配置开启

二、配置方式 在项目的配置文件中配置即可

查询节点命令

一、常规查询 查询节点下的信息

ls 节点路径

查询节点下的所有节点信息

ls -r 节点路径 #-r表示递归查询

二、查询详细数据 首席按先了解Zookeeper的组成

通过命令查看Znode节点详细信息(stat元数据)

get -s 节点路径

元数据对应的作用:

删除节点命令

一、普通删除 1、删除一层节点

delete 节点路径

2、如果想要删除的节点还有字节点

deleteall 目标节点路径

二、乐观锁删除 1、了解zk节点乐观锁 当我们创建了一个新的节点,元数据中会有一个字段专门存当前节点的版本号,如果有人对这个节点进行了修改,那么版本号+1

2、乐观锁删除方法

delete -v 版本号 节点路径 # -v是version的简写,如果输入的版本号不是当前节点的版本号,就会报删除失败,版本号无效

给节点添加数据

添加数据命令

set 节点路径 数据 Watch机制监听节点

一、创建一次性监听 1、创建一个新节点

2、通过下面的命令以Watch机制来监听节点

get -w 节点路径

3、在另一个客户端对这个节点进行改动,那么监听该节点的那台服务器就会提示:你监听的节点数据发生了变化

4、当我再次在右边的客户点对test9节点数据发生修改,那么左边的监听就失效了

二、创建持续的监听 1、当对某个节点通过get -w 节点路径进行监听

2、在另一台客户端上修改这个节点的数据

3、在监听的这个客户端上继续通过get -w 节点路径来获取数据,那么又一次给节点上了监听  

至此,关于Zookeeper操作Znode节点的常见命令以及Watch机制监听节点的技术点介绍完毕,后续还会持续更新相关技术,敬请期待!



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3