Zookeeper篇——深入认识和学习Zookeeper节点-Znode,涵盖概念以及详细操作节点命令,保姆级教程,超详细、超全面!!!

这篇具有很好参考价值的文章主要介绍了Zookeeper篇——深入认识和学习Zookeeper节点-Znode,涵盖概念以及详细操作节点命令,保姆级教程,超详细、超全面!!!。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

Znode节点概念

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

指定znode节点,Zookeeper,zookeeper,学习,分布式

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

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

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

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

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

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

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

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

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

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

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

ls /

指定znode节点,Zookeeper,zookeeper,学习,分布式

zkCli.sh常见命令

create 节点名路径

指定znode节点,Zookeeper,zookeeper,学习,分布式

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

指定znode节点,Zookeeper,zookeeper,学习,分布式

2、创建并保存数据

create 节点名路径 数据

指定znode节点,Zookeeper,zookeeper,学习,分布式

3、获取节点中的数据

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

指定znode节点,Zookeeper,zookeeper,学习,分布式

创建节点命令

持久节点和持久序列节点

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

2、创建持久节点

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

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

2、创建持久序号节点

ctreate -s 节点路径

指定znode节点,Zookeeper,zookeeper,学习,分布式

临时节点(重点)

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

二、临时节点在会话结束后消失的原理
运用了session的工作机制指定znode节点,Zookeeper,zookeeper,学习,分布式

二、创建临时节点方法

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

指定znode节点,Zookeeper,zookeeper,学习,分布式

临时序号节点

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

二、创建方式

create -e -s 节点路径

指定znode节点,Zookeeper,zookeeper,学习,分布式

Container容器节点

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

二、创建方式

create -c 节点路径

指定znode节点,Zookeeper,zookeeper,学习,分布式

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

指定znode节点,Zookeeper,zookeeper,学习,分布式

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

delete 节点路径

指定znode节点,Zookeeper,zookeeper,学习,分布式

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

TTL节点

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

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

指定znode节点,Zookeeper,zookeeper,学习,分布式

查询节点命令

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

ls 节点路径

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

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

二、查询详细数据
首席按先了解Zookeeper的组成
指定znode节点,Zookeeper,zookeeper,学习,分布式

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

get -s 节点路径

指定znode节点,Zookeeper,zookeeper,学习,分布式

元数据对应的作用:

指定znode节点,Zookeeper,zookeeper,学习,分布式

删除节点命令

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

delete 节点路径

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

deleteall 目标节点路径

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

2、乐观锁删除方法

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

指定znode节点,Zookeeper,zookeeper,学习,分布式

给节点添加数据

添加数据命令

set 节点路径 数据

Watch机制监听节点

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

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

get -w 节点路径

指定znode节点,Zookeeper,zookeeper,学习,分布式

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

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

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

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

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

至此,关于Zookeeper操作Znode节点的常见命令以及Watch机制监听节点的技术点介绍完毕,后续还会持续更新相关技术,敬请期待!文章来源地址https://www.toymoban.com/news/detail-772014.html

到了这里,关于Zookeeper篇——深入认识和学习Zookeeper节点-Znode,涵盖概念以及详细操作节点命令,保姆级教程,超详细、超全面!!!的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 深入学习 Redis - 常用数据类型,结构认识

    目录 一、Redis数据类型  Redis 数据类型结构简单认识 每个数据类型具体的编码方式 1.string  2.hash 3.list 4.set 5.zset 典中典:记数字!!! 6.查看 key 对应 value  的实际编码方式 如果本文有帮助到你,不妨给个三连吧~ Redis 中所有的 key 都是 string 类型,不同的是 value 的数据类型

    2024年02月16日
    浏览(50)
  • 深度学习入门--认识深度学习以及安装工具

    感谢李沐老师的教学视频以及《动手学深度学习》,视频总时长47h https://zh-v2.d2l.ai/chapter_preface/index.html https://www.bilibili.com/video/BV1if4y147hS/?spm_id_from=333.999.0.0vd_source=0cafd28c011c5492e6d7e39f1fd256d9 介绍深度学习经典和最新模型LeNet,ResNet,LSTM,BERT,.. 机器学习基础 损失函数、目标函数、

    2024年02月07日
    浏览(51)
  • 深入探索Apache ZooKeeper:关键技术学习与实践指南

    Apache ZooKeeper,作为一款广受认可的分布式协调服务,为大型分布式系统提供了强大的数据一致性、服务注册与发现、分布式锁、配置管理等基础服务。本文将深入剖析ZooKeeper的技术内核,梳理其关键学习点,并结合实践场景给出学习与应用建议,帮助读者全方位掌握这一重要

    2024年04月28日
    浏览(40)
  • 深入学习Kafka之概念解析

    Kafka是一个开源的分布式流处理平台和消息队列系统。 Kafka是一个值得深入学习的开源中间件,其中涉及的概念有很多,今天就来梳理一下,这些概念到底都是什么。 Producers are those client applications that publish (write) events to Kafka 生产者就是那些发布/写事件到Kafka的客户端应用。

    2024年02月22日
    浏览(38)
  • 机器学习 | 深入理解并掌握核心概念

            在如今数字化时代的浪潮下,机器学习已经成为人工智能领域的璀璨明星。它像一面魔镜,赋予计算机系统学习和改进的能力,让机器能够从海量数据中提取规律、预测未来,甚至做出智能决策。本 专栏 将带您踏上机器学习的奇妙之旅,探索其原理、方法和应用

    2024年01月24日
    浏览(38)
  • 49学习容器管理平台 Docker Swarm 的基本概念和应用,包括节点管理、服务编排

    Docker Swarm 是 Docker 官方提供的容器编排工具,可以管理多个 Docker 节点,并支持自动化扩展、负载均衡等功能。下面是 Docker Swarm 的基本概念和使用方法,包括节点管理和服务编排。 在 Docker Swarm 中,一个或多个 Docker 节点组成一个 Swarm 集群,其中一个节点是 Swarm Manager,负责

    2024年02月05日
    浏览(43)
  • 深入理解JVM虚拟机第二篇:虚拟机概念和JVM整体架构以及字节码的执行路线

      😉😉 学习交流群: ✅✅1:这是孙哥suns给大家的福利! ✨✨2:我们免费分享Netty、Dubbo、k8s、Mybatis、Spring...应用和源码级别的视频资料 🥭🥭3:QQ群:583783824   📚📚  工作微信:BigTreeJava 拉你进微信群,免费领取! 🍎🍎4:本文章内容出自上述:Spring应用课程!💞💞

    2024年02月09日
    浏览(52)
  • 动力节点|深入浅出Vue框架学习教程,带你快速掌握前端开发核心技能

    Vue是一款流行的JavaScript前端框架,最初由华人开发者尤雨溪创建,并在GitHub上开源发布,它采用MVVM模型的设计思维,专注于UI项目的开发,能够方便地组织和管理页面上的各个组件,大大提高了前端开发的效率。 同时,Vue也具有高度的灵活性和可定制性,使得其在快速开发

    2024年02月13日
    浏览(46)
  • JVM——一些零散的概念(后续学习深入了再补充)

    凡是带了native的,说明Java的作用范围的达不到了,需要调用底层C语言的库 调用native方法,会进入本地方法栈,调用本地接口(JNI) JNI的作用:扩展Java的使用,融合不同的编程语言为Java所用 它在内存区域中专门开辟了一块标记区域:Native Method Stack(本地方法栈),登记

    2024年02月08日
    浏览(37)
  • Django学习记录:初步认识django以及实现了简单的网页登录页面的前后端开发

    1、可以先删去template文件夹,并在setting里面删掉这一行 2、在pycharm中创建app: 3、启动app:编写URL与视图函数关系【urls.py】 ​ 编写视图函数【views.py】 ​ 启动pycharm项目 4、引用静态文件 其中有两个文件的导入:(jquery和bootstrap) jquery:https://code.jquery.com/jquery-3.6.0.min.js 可

    2024年02月14日
    浏览(45)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包