Zookeeper系统模型介绍

目录

一、数据模型

二、 节点的类型

(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 添加认证用户

 

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

最新VUE面试题

前言 本文以前端面试官的角度出发,对 Vue 框架中一些重要的特性、框架的原理以问题的形式进行整理汇总,意在帮助作者及读者自测下 Vue 掌握的程度。 本文章节结构以从易到难进行组织,建议读者按章节顺序进行阅读,当然大佬级别的…

操作系统——进程管理

0.关注博主有更多知识 操作系统入门知识合集 目录 0.关注博主有更多知识 4.1进程概念 4.1.1进程基本概念 思考题: 4.1.2进程状态 思考题: 4.1.3进程控制块PCB 4.2进程控制 思考题: 4.3线程 思考题: 4.4临界资源与临…

【分布式技术专题】「授权认证体系」OAuth2.0协议的入门到精通系列之授权码模式

这里写目录标题 OAuth2.0是什么OAuth2.0协议体系的Roles角色OAuth定义了四个角色资源所有者资源服务器客户端授权服务器 传统的客户机-服务器身份验证模型的问题 协议流程认证授权授权码 OAuth2.0是什么 OAuth 2.0是用于授权的行业标准协议。OAuth 2.0专注于简化客户端开发人员…

一文介绍Linux EAS

能量感知调度(Energy Aware Scheduling,简称EAS)是目前Android手机中Linux线程调度器的基础功能,它使调度器能预测其决策对CPU能耗的影响。依靠CPU的能量模型(Energy Model,简称EM),…

疑难问题定位案例复盘(三)

今天我们分享一个数据库被异常改写的案例,通过该案例我们可以学习总结出常规的文件被改写问题定位思路。 问题现象 1、测试环境在进行特定压力测试时发现页面登陆异常,且调试日志多个进程持续打印“数据库打开失败”日志。 2、测试环境在进行多个压力测…

【机器学习】决策树(实战)

决策树(实战) 目录 一、准备工作(设置 jupyter notebook 中的字体大小样式等)二、树模型的可视化展示1、通过鸢尾花数据集构建一个决策树模型2、对决策树进行可视化展示的具体步骤3、概率估计 三、决策边界展示四、决策树的正则化…

PyCharm2023.1下载、安装、注册以及简单使用【全过程讲解】

在使用PyCharm IDE之前,请确保自己的计算机里面安装了Python解释器环境,若没有下载和安装可以看看我之前的文章>>>Python环境设置>>>或者还可以观看视频讲解。 注意:本文软件的配置方式仅供个人学习使用,如有侵…

02- 目标检测基础知识及优化思路汇总 (目标检测)

要点: 参考综述:深度学习目标检测最全综述 - 爱码网参考表达:https://www.cnblogs.com/xjxy/p/13588772.html 一 发展历程 分类网络是目标检测的基础,必须熟练掌握。 1.1 传统算法 V.J Detector 19年前,P. Viola 和 …

【java】Java 异常处理的十个建议

文章目录 前言一、尽量不要使用e.printStackTrace(),而是使用log打印。二、catch了异常,但是没有打印出具体的exception,无法更好定位问题三、不要用一个Exception捕捉所有可能的异常四、记得使用finally关闭流资源或者直接使用try-with-resource五、捕获…

全注解下的SpringIoc 续4-条件装配bean

Spring Boot默认启动时会加载bean,如果加载失败,则应用就会启动失败。但是部分场景下,我们希望某个bean只有满足一定的条件下,才允许Spring Boot加载,所以,这里就需要使用Conditional注解来协助我们达到这样…

Java面试题总结 | Java面试题总结10- Feign和设计模式模块(持续更新)

文章目录 Feign项目中如何进行通信Feign原理简述 设计模式spring用到的设计模式项目的场景中运用了哪些设计模式写单例的时候需要注意什么工厂模式的理解设计模式了解么工厂设计模式单例设计模式代理设计模式策略模式**模板方法模式**观察者模式**适配器模式**观察者模式**适配…

HNU-操作系统OS-实验Lab2

OS_Lab2_Experimental report 湖南大学信息科学与工程学院 计科 210X wolf (学号 202108010XXX) 前言 实验一过后大家做出来了一个可以启动的系统,实验二主要涉及操作系统的物理内存管理。操作系统为了使用内存,还需高效地管理…

【算法与数据结构】顺序表

顺序表 数据结构 结构定义结构操作 顺序表:结构定义 一个数组,添加额外的几个属性:size, count等 size: 数组有多大 count: 数组中当前存储了多少元素 顺序表三部分: 一段连续的存储区:顺序表存储元素的地方整型…

利用css实现视差滚动和抖动效果

背景: 前端的设计效果,越来越炫酷,而这些炫酷的效果,利用css3的动画效果和js就可以实现,简单的代码就能实现非常炫酷的效果。 原理: 利用 js监控scrollTop的位置,通过 top定位图片的位置&#x…

HDOJ 1022 Train Problem Ⅰ 模拟栈操作

🍑 OJ专栏 🍑 HDOJ 1022 Train Problem Ⅰ 输入 3 123 321 3 123 312输出 Yes. in in in out out out FINISH No. FINISH🍑 思路 🍤 栈顶元素与目标元素不匹配就进栈,匹配就出栈 🍤 匹配完:y…

『python爬虫』10. 数据解析之xpath解析(保姆级图文)

目录 安装库xpath入门怎么快速得到xpath路径xpath节点的关系xpath方法小型实战总结 欢迎关注 『python爬虫』 专栏,持续更新中 欢迎关注 『python爬虫』 专栏,持续更新中 安装库 pip install lxmlxpath入门 怎么快速得到xpath路径 (相对路…

webpack plugin原理以及自定义plugin

通过插件我们可以拓展webpack,加入自定义的构建行为,使webpack可以执行更广泛的任务。 plugin工作原理: webpack工作就像是生产流水线,要通过一系列处理流程后才能将源文件转为输出结果,在不同阶段做不同的事&#x…

二、PEMFC基础之电化学与反应动力学

二、PEMFC基础之电化学与反应动力学 1.电流、电流密度2.反应速率常数3.交换电流密度4.电化学动力学奠基石B-V方程5.活化损失计算Tafel公式6.计算案例 1.电流、电流密度 由法拉第定律 i d Q d t n F d N d t i\frac{dQ}{dt}\frac{nFdN}{dt} idtdQ​dtnFdN​ j i A j\frac{…

【五一创作】ERP实施-委外业务-委外采购业务

委外业务主要有两种业务形态:委外采购和工序外协,委外采购主要是在MM模块中实现,工序外协主要由PP模块实现,工序外协中的采购订单创建和采购收货由MM模块实现。 委外采购概念 委外采购,有些企业也称为带料委外或者分包…

牛客刷SQL题Day5

SQL69 返回产品并且按照价格排序 select prod_name , prod_price from Products where prod_price between 3 and 6 select prod_name , prod_price from Products where 6>prod_price and prod_price >3 踩坑1: between......and.......包括边界。 踩坑2&am…