Zookeeper系统模型介绍

news2025/1/23 15:08:13

目录

一、数据模型

二、 节点的类型

(1)持久节点

(2)持久顺序节点

(3)临时节点

(4)临时顺序节点 

三、客户端命令行

(1)创建节点

(2)读取节点信息

(3)删除

四、查看节点状态

五、监听机制

(1)监听节点变化

(2)监听节点值变化

六、ACL权限控制

(1)权限模式

(2)权限对象

(3)权限

(4)权限相关命令


一、数据模型

 Zookeeper中储存数据使用znode组成的,也可以将znode叫做节点,
他就是以键值对的形式存储数据,整体的数据结构类似于树,可以
与Linux文件系统模式做比较,路径都是以/开头。
注意前面说了它是以键值对的形式储存数据的,键就是znode的节点
路径,比如/first

二、 节点的类型

zookeeper节点是有生命周期的,这取决于节点的类型。节点类型分为持久节点,临时节点以及时序节点,具体可生成一下四种节点

(1)持久节点

 数据节点被创建后就一直存在于zookeeper服务器上,直到有操作来主动清除这个节点

(2)持久顺序节点

与持久节点一致,只不过有个额外的特性,每个父节点会为他的 第一级子节点维护一份时序,会记录每个子节点创建的先后顺序

(3)临时节点

 具有临时性,不会一直存储在zookeeper服务器上,也就是说会话失效,该节点就会被自动清除,注意是是会话失效而不是连接断开。同时也要注意在临时节点下不可再创建子节点

(4)临时顺序节点 

 基本特性与临时节点一致,也是在临时节点基础添加了顺序的特性

三、客户端命令行

(1)创建节点

create -s 路径(键)+数据(值)
create -e 路径(键)+数据(值)

-s:顺序节点(无选项的情况下默认是持久节点)
-e:临时节点

举例:create -s /java opop

(2)读取节点信息

ls+路径  可以知道该路径下面的节点
get+路径 可以知道指定节点的数据内容和属性信息
set+路径+数据(值) 修改所谓的键对应的值
举例:ls /
get /java
set /java asas

(3)删除

delete+路径
举例:delete /java
注意如果节点包含子节点就会报错

四、查看节点状态

使用stat命令查看节点状态

状态属性               说明
czxid            表示该数据节点被创建时的事务ID
mzxid            表示该节点最后一次被更新时的事务ID
pzxid            表示该节点的子节点列表最后一次被修改时的事务ID
ctime            表示该节点的创建时间
mtime            表示该节点最后一次被更新的时间
version          数据节点的版本号
cversion         子节点的版本号
aversion         节点的ACL版本号
ephemeralOwner    创建该临时节点的回话SessionID,若该节点是持久节点,那么该属性就是0
dataLength        数据内容的长度
numChildren        当前节点的子节点个数

五、监听机制

(1)监听节点变化

ls -w 路径   命令如果使用watch,那么监听的是节点的变化,而不是值的变化。

注意:一台主机使用监听机制,另外一台主机创建节点

 

(2)监听节点值变化

get -w 路径   watch监听机制只能够使用一次,如果下次想要使用,必须重新监听,就比如ls path watch命令,只能监听节点路径的改变一次,如果还想监听,那么需要再执行一次ls path watch命令

 

六、ACL权限控制

ACL权限控制
权限模式+权限对象+权限

对于每个znode节点设置权限,子节点不会继承父节点的权限,
客户端无权访问某节点,但可以访问它的子节点

(1)权限模式

world   只有一个用户:anyone,代表所有人(默认)
ip      使用ip地址认证
auth    使用已添加认证的用户认证
digest  使用用户名:密码方式认证

(2)权限对象

IP      通常是一个IP地址或IP段,例如:“192.168.66.121”
Digest  自定义,通常是“username:BASE64(SHA-1(username:password))”
World   只有一个ID:anyone
Super    与Digest模式一致

(3)权限

权限     ACL缩写     描述
CREATE   c         可以创建子节点
DELETE   d         可以删除子节点(仅下一级节点)
READ     r         可以读取节点数据及显示子节点列表
WRITE    w         可以设置节点数据
ADMIN    a         可以设置节点访问控制列表权限


(4)权限相关命令

getAcl 读取ACL权限
setAcl 设置权限
addauth 添加认证用户

 

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

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

相关文章

k8s- kubernetes证书过期替换之kubeadm命令 certs renew all方式

k8s- kubernetes证书过期替换之kubeadm命令 certs renew all方式 大纲 基础概念证书替换测试使用kubeadm alpha certs renew all 更新证书重启所有组件和kubelet.service生成kubelet-client-current.pem证书测试替换后集群是否正常工作 基础概念 本次测试使用的k8s集群使用…

【代码随想录】刷题Day9 --- 我有自信讲清楚KMP的next原理

字符串 --- 找子串匹配算法_哈里沃克的博客-CSDN博客https://blog.csdn.net/m0_63488627/article/details/130197908?spm1001.2014.3001.5501 首先具体KMP算法理论在上面的博客中,不过该博客我当初写的时候并没有了解next数组实现的过程是那样的,所以只…

【react全家桶学习】react中组件的props属性(详)

学过了vue的props属性,那react中的props属性如何使用呢? props的基本使用 我们先定义一个person组件 我们想要这三个参数动态传递进来,如何实现? 答:跟vue一样,直接在引用组件的地方进行传递即可。 在re…

Java——两个链表的第一个公共节点

题目链接 牛客网在线oj题——两个链表的第一个公共节点 题目描述 输入两个无环的单向链表,找出它们的第一个公共结点,如果没有公共节点则返回空。(注意因为传入数据是链表,所以错误测试数据的提示是用其他方式显示的&#xff0…

润本“带伤”冲刺IPO,再闯“驱蚊第一股”

夏日来临,润本再度冲刺“驱蚊第一股”! 今年3月,润本生物技术股份有限公司(下称“润本”)再次更新招股书,拟在上交所主板上市。 润本是一家多品牌家庭护理产品公司, 专注于驱蚊类、个人护理类…

米哈游新游正式公测!还没上线就已经“爆了”!

米哈游制作的3D冒险主题回合制策略游戏《崩坏:星穹铁道》,在2023年4月26日正式开启全平台公测。 该游戏在2021年10月27日曾开启过“始发测试”,后继续沉淀了两年才正式开启公测。 B站的ACG内容生态丰富,其中游戏相关内容当数米哈…

C++“this”指针的使用

1.this指针的引出 先看一段代码&#xff1a; class Date { public:Date(int year0,int month0,int day0){_year year;_month month;_day day;}void Print(){cout << _year << " "<< _month << " "<< _day << end…

无需公网IP 使用SSH远程连接Linux CentOS服务器【内网穿透】

文章目录 视频教程1. Linux CentOS安装cpolar2. 创建TCP隧道3. 随机地址公网远程连接4. 固定TCP地址5. 使用固定公网TCP地址SSH远程 本次教程我们来实现如何在外公网环境下&#xff0c;SSH远程连接家里/公司的Linux CentOS服务器&#xff0c;无需公网IP&#xff0c;也不需要设置…

SDK_examples问题汇总

CompParameter 看起来可以用 拖动中间的dialog框 调整下面的参数 GraphicsViewDropEvent 点击“模型库”或者“用户模型”会弹出如下&#xff0c;点击“中止”后退出页面 MassSpringDamperApp 成功过&#xff0c;现在点击“开始仿真”会显示仿真失败 MwBatchSimPlu…

Coremail RSAC大会观察:在邮件安全领域AI既是矛也是盾

《Coremail RSAC大会观察&#xff1a;在邮件安全领域AI既是矛也是盾》 全球网络安全界的盛会——2023年RSAC大会于当地时间4月24日-27日在美国旧金山召开&#xff0c;大会以“Stronger Together&#xff08;一起变得更强大&#xff09;”为主题&#xff0c;议程主要包含安全研…

想入门网络安全?先来看看网络安全行业人才需求!

如果你是一个想要入门网络安全行业的小白、如果你是网络安全专业在读的大学生、如果你是正在找工作的新手&#xff0c;那么这篇文章你一定要仔细看。毕竟知己知彼百战百胜&#xff0c;知道行业的人才需求才能更好得发挥自己的优势。 当你打开BOSS直聘、拉钩等招聘网站&#xf…

【CTF WriteUp】2023数字中国创新大赛网络数据安全赛道决赛WP(1)

2023数字中国创新大赛网络数据安全赛道决赛WP(1) 比赛感想 不多说了&#xff0c;还是菜&#xff0c;各种不会&#xff0c;还得学 数据安全题目 Crypto-ddddmm import os from Crypto.Util.number import * from secret import flagdef genkey(bits):p getPrime(bits)q g…

网络模型与 IO 多路复用

一、基础概念1. socket2. FD&#xff1a;file descriptor**3. 内核态和用户态 二、 IO 多路复用1. 常见的IO模型2. 同步和异步3. 阻塞和非阻塞 三、 阻塞IO四、非阻塞 IO1、针对 read 函数造成的阻塞2、针对 accept函数造成的阻塞3、 select 模型4、poll模型5、epoll模型 一、基…

点成分享丨液滴生成解决方案

电源及电线为了满足用户的液滴生成需求&#xff0c;点成生物联合cellix推出了点成生物液滴生成解决方案&#xff0c;该套装可以一站式轻松满足用户液滴生成实验的需求。 Part.01 点成小科普 液滴生成&#xff0c;是一种在具备某种几何形状的微流控芯片中使用微流控泵精确控制…

Drools 规则引擎(包括动态加载数据库中规则引擎)

Drools 规则引擎 文章目录 Drools 规则引擎前言一、规则引擎是什么&#xff1f;二、Drools 简介1.引入规则引擎前后程序架构&#xff1a;2.Drools API 开发步骤&#xff1a;在这里插入图片描述 三、Drools 快速入门1.使用项目文件作为规则引擎2.使用数据库存储规则引擎 四、Dro…

【shell脚本】条件语句

一、条件测试操作 1.1test命令与 [ ] 符号 测试表达试是否成立&#xff0c;若成立返回0&#xff0c;否则返回其它数值 1.1.1文件测试常用的测试操作符 符号作用-d测试是否为目录-e测试是否为目录或文件-f测试是否为文件-r测试当前用户是否有读取权限-w测试当前用户是否有写…

2023-4-27-深入理解C++指针类型间强制转换

&#x1f37f;*★,*:.☆(&#xffe3;▽&#xffe3;)/$:*.★* &#x1f37f; &#x1f4a5;&#x1f4a5;&#x1f4a5;欢迎来到&#x1f91e;汤姆&#x1f91e;的csdn博文&#x1f4a5;&#x1f4a5;&#x1f4a5; &#x1f49f;&#x1f49f;喜欢的朋友可以关注一下&#xf…

【致敬未来的攻城狮计划】— 连续打卡第十四天:FSP固件库开发延时函数(时钟详解)

系列文章目录 1.连续打卡第一天&#xff1a;提前对CPK_RA2E1是瑞萨RA系列开发板的初体验&#xff0c;了解一下 2.开发环境的选择和调试&#xff08;从零开始&#xff0c;加油&#xff09; 3.欲速则不达&#xff0c;今天是对RA2E1 基础知识的补充学习。 4.e2 studio 使用教程 5.…

数据结构_线性表、顺序表、单链表

目录 1. 线性表的定义和基本操作 1.1 线性表的定义 1.2 线性表的特点 1.3 线性表的基本操作 2. 线性表的顺序表示 2.1 顺序表的定义 2.2 顺序表上基本操作的实现 2.2.1 插入操作 2.2.2 删除操作 2.2.3 按值查找 2.3 相关练习巩固 3. 线性表的链式表示 3.1 单链表的…

Zynq-7000、FMQL45T900的GPIO控制(五)---linux应用层配置GPIO输出控制

上文中详细阐述了对应原理图MIO/EMIO的编号&#xff0c;怎么计算获取linux下gpio的编号 本文涉及C代码上传&#xff0c;下载地址 Zynq-7000、FMQL45T900的GPIO控制c语言代码资源-CSDN文库 本文详细记录一下针对获取到gpio的编号&#xff0c;进行配置输出模式&#xff0c;并进…