zookeeper--znode数据结构详解

https://www.jianshu.com/p/cbe5f0dd6cca

一、概念详解

zxid

Zookeeper中每个状态变化都会产生一个全局唯一的zxid (ZooKeeper Transaction Id),通过它可确定更新操作的先后顺序,每个更改都将有一个唯一的 zxid。例如,zxid1小于zxid2,则说明zxid1操作先执行,zxid2后执行; zxid对于整个Zookeeper都是唯一的,即使操作的是不同的znode。

Version numbers

zookeeper中又三种version,cversion、dataVersion、aclVersion ;每次znode状态更改都会导致其中一个版本值增加。当前节点的子节点每次变化时cversion值增加1;当前节点的数据每次变化时dataVersion值增加1;当前节点的acl权限每次变化时aclVersion 值增加1

Ticks

tickTime:一次心跳的基本时间;是ZK使用的基本时间单位,这个参数用于配置一个tick的长度,单位为毫秒,默认配置文件设定的是2000;被用作心跳(heartbeats )测试时间间隔和session的超时设置,最小的session超时时间是tickTime的两倍。

# The number of milliseconds of each tick
tickTime=2000
# The number of ticks that the initial
# synchronization phase can take
initLimit=10
# The number of ticks that can pass between
# sending a request and getting an acknowledgement
syncLimit=5

二、默认znode

zookeeper 服务器中有两个默认的znode,详情如下:

[zk: localhost:2181(CONNECTED) 2] ls -R /zookeeper
/zookeeper
/zookeeper/config
/zookeeper/quota
[zk: localhost:2181(CONNECTED) 3]

三、结构字段详解

一个znode展示的结构字段如下

cZxid = 0x184
ctime = Tue Mar 26 15:44:15 CST 2024
mZxid = 0x193
mtime = Tue Mar 26 18:30:18 CST 2024
pZxid = 0x18b
cversion = 4
dataVersion = 5
aclVersion = 0
ephemeralOwner = 0x0
dataLength = 5
numChildren = 4
结构字段描述
cZxidcreate zxid 即该数据节点被创建时的事务id
ctimecreate time ,即该节点的创建时间
mZxidmodified ZXID,即该节点最终一次更新时的事务id
mtimemodified time,即该节点最后一次的更新时间
pZxid该节点的子节点列表最后一次修改时的事务id,只有子节点列表变更才会更新pZxid,子节点内容变更不会更新
cversion子节点更改的次数,当前节点的子节点每次变化时值增加1
dataVersion数据节点内容版本号,节点创建时为0,每更新一次节点内容(不管内容有无变化)该版本号的值增加1
aclVersion节点的ACL版本号,表示该节点ACL变更次数
ephemeralOwner创建该临时节点的会话的sessionId;如果当前节点为持久节点,则ephemeralOwner=0
dataLength当前节点数据长度
numChildren当前节点的子节点数量

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/782602.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Centos搭建docker mysql集群

1.执行命令 :docker search mysql 看到有percona 之后docker pull percona/percona-xtradb-cluster:5.7.21 2.docker images 查看该镜像,tag重命名 docker tag percona/percona-xtradb-cluster:5.7.21 pxc 也可以直接下载一下,之后dock…

深入理解HDFS工作原理:大数据存储和容错性机制解析

** 引言: ** 在当今数据爆炸的时代,存储和管理大规模数据成为了许多组织面临的重要挑战。为了解决这一挑战,分布式文件系统应运而生。Hadoop分布式文件系统(HDFS)作为Apache Hadoop生态系统的核心组件之一&#xff…

是德科技keysight N9000B 信号分析仪

181/2461/8938产品概述: 工程的内涵就是将各种创意有机地联系起来,并解决遇到的问题。 CXA 信号分析仪具有出色的实际性能,它是一款出类拔萃、经济高效的基本信号表征工具。 它的功能十分强大,为一般用途和教育行业的用户执行测试…

深入探讨分布式ID生成方案

✨✨谢谢大家捧场,祝屏幕前的小伙伴们每天都有好运相伴左右,一定要天天开心哦!✨✨ 🎈🎈作者主页: 喔的嘛呀🎈🎈 ✨✨ 帅哥美女们,我们共同加油!一起进步&am…

vue3数据库中存头像图片相对路径在前端用prop只能显示路径或无法显示图片只能显示alt中内容的问题的解决

不想看前情可以直接跳到头像部分代码 前情: 首先我们是在数据库中存图片相对路径,这里我们是在vue的src下的assets专门建一个文件夹img存头像图片。 然后我们如果用prop"avatar" label"头像"是只能显示图片路径的,即lo…

一个好用的日常文字发布模版

01 时间轴:认真感受每一天 每一天都是一幅独特的画卷,等待我们用心去感受和品味。我珍视每一个瞬间,无论是喜悦的欢笑,还是沉思的寂静,都是生命赐予我的宝贵礼物。 清晨,当第一缕阳光洒进窗户&#xff0…

c++11 标准模板(STL)本地化库 - std::tolower(std::locale) 用本地环境的 ctype 刻面将字符转换为小写

本地化库 本地环境设施包含字符分类和字符串校对、数值、货币及日期/时间格式化和分析,以及消息取得的国际化支持。本地环境设置控制流 I/O 、正则表达式库和 C 标准库的其他组件的行为。 用本地环境的 ctype 刻面将字符转换为小写 std::tolower(std::locale) temp…

java数组与集合框架(一) -- 数据结构,数组

数据结构 概述 为什么要讲数据结构? 任何一个有志于从事IT领域的人员来说,数据结构(Data Structure)是一门和计算机硬件与软件都密切相关的学科,它的研究重点是在计算机的程序设计领域中探讨如何在计算机中组织和存储…

座次问题(蓝桥杯)

文章目录 座次问题题目描述回溯算法 座次问题 题目描述 小 A 的学校,老师好不容易解决了蓝桥杯的报名问题,现在老师又犯愁了。 现在有 N 位同学参加比赛,但是老师想给他们排座位,但是排列方式太多了。 老师非常想弄明白最后的…

机器学习和神经网络8

在人工智能领域,神经网络和随机森林是两种强大的机器学习算法。神经网络,特别是深度学习网络,因其在图像和语音识别等复杂任务中的卓越性能而闻名。另一方面,随机森林是一种基于决策树的集成学习技术,它在处理分类和回…

Kafka硬核干货

目录 Kafka Kafka Producer Kafka Consumer Consumer Offset Log Manager 如何实现高吞吐、低延迟

编程题 2

文章目录 概要整体架构流程代码实现总结 概要 企业发放的奖金根据利润提成。 利润(I)低于或等于10万元时,奖金可提10%; 利润高于10万元,低于20万元时,低于10万元的部分按10%提成,高于10万元的部分,可提成…

ctfshow web入门 XXE

XXE基础知识 XXE(XML External Entity)攻击是一种针对XML处理漏洞的网络安全攻击手段。攻击者利用应用程序在解析XML输入时的漏洞,构造恶意的XML数据,进而实现各种恶意目的。 所以要学习xxe就需要了解xml xml相关: …

计算数组元素中每个元素与其之前各元素的累积乘积ndarray.cumprod()

【小白从小学Python、C、Java】 【计算机等考500强证书考研】 【Python-数据分析】 计算数组元素中每个元素 与其之前各元素的累积乘积 ndarray.cumprod() 选择题 关于以下代码输出的结果说法正确的是? import numpy as np a np.array([2,4,6]) print(【显示】a ,…

彩虹外链网盘界面UI美化版超级简洁好看

彩虹外链网盘界面UI美化版 彩虹外链网盘,是一款PHP网盘与外链分享程序,支持所有格式文件的上传,可以生成文件外链、图片外链、音乐视频外链,生成外链同时自动生成相应的UBB代码和HTML代码,还可支持文本、图片、音乐、…

Diffusion添加噪声noise的方式有哪些?怎么向图像中添加噪声?

添加噪声的方式大致分为两种,一种是每张图像在任意timestep都加入一样的均匀噪声,另一种是按照timestep添加不同程度的噪声 一、在任意timestep都加入一样的noise batch_size 32x_start torch.rand(batch_size,3,256,256) noise torch.randn_like(x_…

css的各种样式

一,css的样式选择器 1.1 字体相关 font font-fanmily 字体的样式默认为黑体font-size 字体大小font-style 字体风格 斜体font-width 字体的宽度 默认为400 1.2 文本相关 text-transform capitalize 首字母大写lowercase 全部小写uppercase 全部大写 text-alig…

.NET DES加密算法实现

简介: DES(Data Encryption Standard)加密算法作为一种历史悠久的对称加密算法,自1972年由美国国家标准局(NBS)发布以来,广泛应用于各种数据安全场景。本文将从算法原理、优缺点及替代方案等方…

XUbuntu22.04之激活Linux最新Typora版本(二百二十五)

简介: CSDN博客专家,专注Android/Linux系统,分享多mic语音方案、音视频、编解码等技术,与大家一起成长! 优质专栏:Audio工程师进阶系列【原创干货持续更新中……】🚀 优质专栏:多媒…

技巧 Win10电脑打开SMB协议共享文件,手机端查看

一. 打开 SMB1.0/CIFS文件共享支持 ⏹如下图所示,打开SMB1.0/CIFS文件共享支持 二. 开启网络发现 ⏹开启网络发现,确保共享的文件能在局域网内被发现 三. 共享文件夹到局域网 ⏹根据需要勾选需要共享的文件夹,共享到局域网 四. 共享文件查…