Zookeeper配置化中心
- zookeeper的基本知识
- zookeeper的数据结构:zookeeper提供的命名空间非常类似于标准的文件系统,key-value的形式存储,名称key由/分割的一系列路径元素,zookeeper名称空间中的每个节点都是一个路径标志。
-

- windows下的zookeeper安装:
- 在官网下载安装包,解压到本地目录文件夹下面,官网路径:https://zookeeper.apache.org/releases.html#releasenotes
- 修改配置文件zoo_sample.cfg 复制一份 重命名为zoo,cfg
- 在安装目录下面新建一个空的data文件夹和Log文件夹
- 修改zoo.cfg配置文件,将dataDir=/tmp/zookeeper修改成zookeeper安装目录所在的data文件夹,再添加一条数据日志的配置。(需要根据自己的安装路径来修改)
-
然后双击zkServer.cmd启动程序。
- 控制台显示bind to port 0.0.0.0/0.0.0.0:2181,表示服务端启动成功
-
双击zkCli.cmd启动客户端:
-
出现welcom to zookeeper! 表示我们成功启动客户端。
- zookeeper java客户端搭建
- 工具:IDEA 创建一个maven工程。命名为zookeeper-demo,并且引入如下依赖,可以自行在maven中央仓库选择合适的版本,maven依赖:
-
<dependency><groupId>junit</groupId><artifactId>junit</artifactId><version>4.11</version><scope>test</scope> </dependency> <dependency><groupId>org.apache.zookeeper</groupId><artifactId>zookeeper</artifactId><version>3.4.8</version> </dependency> <dependency><groupId>org.apache.curator</groupId><artifactId>curator-framework</artifactId><version>4.0.0</version> </dependency> <dependency><groupId>org.apache.curator</groupId><artifactId>curator-recipes</artifactId><version>4.0.0</version> </dependency>public static void main(String[] args){try{final CountDownLatch countDownLatch=new CountDownLatch(1);Zookeeper zooKeeper=new Zookeeper("192.168.3.33:2181,"+"192.168.3.35:2181,192.168.3.37:2181",4000,new Watcher(){@Override public void process(WatchedEvent event){if(Event.KeeperState.SyncConnected==event.getState()){//如果收到了服务端的响应事件,连接成功countDownLatch.countDown();} }}); countDownLatch.await(); System.out.println(zookeeper.getState()); } }zookeeper数据模型znode结构详解
-
在zookeeper中,可以说zookeeper中所有存储的数据是由znode组成的,节点也称为znode,并且以key/value形式存储数据。
-
整体结构类似于linux文件系统的模式以树形结构存储,其中以根路径/开头。
-
进入zookeeper安装的bin目录,通过sh zkCli.sh 打开命令行终端,执行ls /命令显示
-
ls /
-
ls /zookeeper
-
ls /zookeeper/quota
-
znode的状态属性
-
czxid 创建节点时的事务ID
-
ctime 创建节点时的时间
-
mzxid 最后修改节点时的事务ID
-
mtime 最后修改节点时的时间
-
pzxid 表示该节点的子节点列表最后一次修改的事务ID,
-
5、watch 机制,监听节点变化
事件监听机制类似于观察者模式,watch 流程是客户端向服务端某个节点路径上注册一个 watcher,同时客户端也会存储特定的 watcher,当节点数据或子节点发生变化时,服务端通知客户端,客户端进行回调处理。特别注意:监听事件被单次触发后,事件就失效了。
提示:参考常用命令章节 get 命令监听 watch 使用,后面章节将详细介绍 watch 实现原理。
zookeeper的ACL 权限在生产环境是特别中药的
ACL权限可以针对节点设置相关读写等权限 保障数据安全性
permission可以指定不同的权限范围以及角色
ACL命令行
getAcl命令 获取某个节点的acl权限信息
setAcl 命令:设置某个节点的acl权限信息
addauth命令:输入认证授权信息 注册时输入明文密码 加密形式保存
ACL构成:
zookeeper的 acl通过 schema:id:permission 来构成权限列表
schema 代表采用的某种权限机制 包括world auth digest ip super集中
id 代表允许访问的用户
permissions 全线组合字符串
c 创建权限
d 删除权限
r 读权限
w 写权限
a 管理权限
world 实例
查看默认节点权限 再更新节点permissions权限部分crwa 结果删除节点失败 其中wirld
相关文章:
Zookeeper配置化中心
zookeeper的基本知识 zookeeper的数据结构:zookeeper提供的命名空间非常类似于标准的文件系统,key-value的形式存储,名称key由/分割的一系列路径元素,zookeeper名称空间中的每个节点都是一个路径标志。 windows下的zookeeper安装&#…...
【LeetCode】打家劫舍 III [M](递归)
337. 打家劫舍 III - 力扣(LeetCode) 一、题目 小偷又发现了一个新的可行窃的地区。这个地区只有一个入口,我们称之为 root 。 除了 root 之外,每栋房子有且只有一个“父“房子与之相连。一番侦察之后,聪明的小偷意识…...
设计模式——单例模式
单例模式分为懒汉式和饿汉式两种 在有些系统中,为了节省内存资源、保证数据内容的一致性,对某些类要求只能创建一个实例,这就是所谓的单例模式. 例如,Windows 中只能打开一个任务管理器,这样可以避免因打开多个任务管理…...
json-server环境搭建及使用
json-server环境搭建 一个在前端本地运行,可以存储json数据的server。 基于node环境,可以指定一个 json 文件作为 API 的数据源。 文章目录json-server环境搭建前提下载安装监听服务启动成功修改端口号方式一:方式二:数据操作测试…...
RabbitMQ运行机制
消息的TTL(Time To Live) 消息的TTL就是消息的存活时间。 • RabbitMQ可以对队列和消息分别设置TTL。 • 对队列设置就是队列没有消费者连着的保留时间,也可以对每一个单独的消息做单独的 设置。超过了这个时间,我们认为这个消息…...
【Spring Cloud Alibaba】(三)OpenFeign扩展点实战 + 源码详解
系列目录 【Spring Cloud Alibaba】(一)微服务介绍 及 Nacos注册中心实战 【Spring Cloud Alibaba】(二)微服务调用组件Feign原理实战 本文目录系列目录前言一、Feign扩展点配置二、OpenFeign扩展点配置1. 通过配置文件配置有效范…...
面向对象设计原则
在面向对象的设计过程中, 我们要对代码进行一个设计, 从而提高一个软件系统的可维护性和可复用性, 那么遵从面向对象的设计原则,可以在进行设计方案时减少错误设计的产生,从不同的角度提升一个软件结构的设计水平。 面向对象有以下七大原则:1.单一职责原…...
2022年“网络安全”赛项湖南省赛选拔赛 任务书
2022年“网络安全”赛项湖南省赛选拔赛 任务书2022年“网络安全”赛项湖南省赛选拔赛 任务书A模块基础设施设置/安全加固(200分)B模块安全事件响应/网络安全数据取证/应用安全(400分)C模块 CTF夺旗-攻击 (200分&#x…...
学习笔记:Java 并发编程⑥_并发工具_JUC
若文章内容或图片失效,请留言反馈。 部分素材来自网络,若不小心影响到您的利益,请联系博主删除。 视频链接:https://www.bilibili.com/video/av81461839配套资料:https://pan.baidu.com/s/1lSDty6-hzCWTXFYuqThRPw&am…...
Linux文件隐藏属性(修改与显示):chattr和lsattr
文件除了基本的九个权限以外还有隐藏属性存在,这些隐藏属性对于系统有很大的帮助,尤其是系统安全(Security)上 chattr(配置文件隐藏属性) chattr 【-】【ASacdistu】文件或目录名称 选项与参数:…...
广东省基层就业补贴
基层就业补贴链接:https://www.gdzwfw.gov.cn/portal/v2/guide/11440309MB2D27065K4440511108001 一.申请条件: 1、劳动者到中小微企业、个体工商户、社会组织等就业,或到乡镇(街道)、村居社会管理和公共服务岗位就业…...
高压放大器在超声导波钢轨传播中的应用
实验名称:高压放大器在超声导波钢轨传播中的应用研究方向:无损检测测试目的:超声导波具有传播距离远、检测距离长的特点,在钢轨无损检测领域受到越来越多的关注。本文使用有限元仿真方法和现场实验方法,对钢轨各模态超…...
Java字符串常见拼接方式
目录 最常见的方式 StringBuilder.append()和StringBuffer.append() String类下的cocat()方法 String类下的join()方法 StringUtils.join 项目中使用 不建议在 for 循环中使用 “” 进行字符串拼接 通过字符串连接,可以将两个或多个字符串、字符、整数和浮点…...
商城业务:购物车
人生在世如身处荆棘之中,心不动,人不妄动,不动则不伤;如心动则人妄动,伤其身痛其骨,于是体会到世间诸般痛苦。 1、购物车需求 1)、需求描述: - 用户可以在登录状态下将商品添加到购…...
计算机网络学习笔记(一)
网络是由若干接点和连接这些结点的链路组成。 多个网络通过路由器互联起来构成覆盖范围更大的互联网。 普通用户通过ISP接入因特网。 基于ISP的三层结构因特网 相隔较远的两台主机间通信可能需要经过多个ISP。 有电路交换,报文交换,分组交换三种交换方…...
【单目标优化算法】烟花优化算法(Matlab代码实现)
💥💥💞💞欢迎来到本博客❤️❤️💥💥 🏆博主优势:🌞🌞🌞博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。 ⛳️座右铭&a…...
微服务项目【秒杀商品展示及商品秒杀】
登录方式调整 第1步:从zmall-common的pom.xml中移除spring-session-data-redis依赖 注意: 1)本次不采用spring-session方式,改用redis直接存储用户登录信息,主要是为了方便之后的jmeter压测; 2)…...
DIDL3_模型选择、复杂度、过欠拟合的相关概念
模型选择、复杂度、过欠拟合的概念模型选择训练误差和泛化误差验证数据集和测试数据集K-则交叉验证(没有足够多数据时使用)过拟合和欠拟合模型容量模型容量的影响估计模型容量控制模型容量数据复杂度处理过拟合的方法(1)ÿ…...
Android 9.0 去除锁屏界面及SystemUI无sim卡拨打紧急电话控件显示功能实现
1.1概述 在9.0的系统rom定制化开发中,关于SystemUI的定制化功能也是比较多的,在SystemUI的锁屏页面和状态栏提示无sim卡拨打紧急电话控件显示等相关提示 的功能中,在有些systemui的定制中是不需要这些功能的,所以需要从systemui中去掉这些功能提示的,这就需要从systemui中…...
AntDB-M设计之内存结构
亚信科技专注通信行业多年,AntDB数据库从诞生开始,就面对通信级的大数据量应用场景挑战,在性能、稳定性、规模化等方面获得了超过10年的通信核心业务系统验证,性能峰值达到每秒百万的通信核心交易量。AntDB-M(AntDB内存…...
解决 chattts.core 的 invalid characters 警告:高效字符处理方案
最近在折腾一个文本转语音的项目,用到了 chattts 这个库。功能很强大,但时不时就会在日志里看到一行刺眼的警告:chattts.core:invalid characters found! : {:}。这个警告虽然不会直接让程序崩溃,但就像鞋里的一粒沙子,…...
电镀生产线组态王6.55和三菱PLC联机仿真程序10(OPC通讯)带运行效果操作讲解视频和设计...
电镀生产线组态王6.55和三菱PLC联机仿真程序10(OPC通讯)带运行效果操作讲解视频和设计要求io表接线图主电路CAD曲线报表报警界面作为一名高级程序员兼IT知识写手,我将按照您的要求创作一篇关于电镀生产线组态王6.55和三菱PLC联机仿真程序10&a…...
手把手教你用BurpSuite抓取火狐浏览器数据包(含代理设置完整流程)
从零掌握BurpSuite抓包:火狐浏览器配置与实战技巧 在Web安全测试领域,BurpSuite无疑是渗透测试工程师和开发者的瑞士军刀。不同于简单的网络调试工具,它提供了从基础抓包到高级漏洞探测的全套解决方案。本文将带你从环境搭建到实战抓包&#…...
ONNX模型获取全攻略:从环境适配到质量验证的系统化方案
ONNX模型获取全攻略:从环境适配到质量验证的系统化方案 【免费下载链接】models A collection of pre-trained, state-of-the-art models in the ONNX format 项目地址: https://gitcode.com/gh_mirrors/model/models 模型获取是AI开发流程的关键起点&#…...
nlp_structbert_sentence-similarity_chinese-large 效果展示:中文文本相似度计算精准度测评
nlp_structbert_sentence-similarity_chinese-large 效果展示:中文文本相似度计算精准度测评 最近在做一个智能客服的项目,需要判断用户提问和知识库答案的匹配度。试了好几个开源模型,效果总是不太理想,要么把意思完全相反的句子…...
EasyExcel导出日期变#####?3分钟搞定列宽自适应问题(附@ColumnWidth注解详解)
EasyExcel导出日期变#####?3分钟搞定列宽自适应问题(附ColumnWidth注解详解) 当你用EasyExcel导出数据时,突然发现Excel里本该显示日期的单元格变成了一串"#####",这种场景对Java开发者来说再熟悉不过了。别…...
Midscene.js vs Selenium:AI自动化与浏览器测试工具实战对比(附场景选择指南)
Midscene.js vs Selenium:AI自动化与浏览器测试工具实战对比(附场景选择指南) 在自动化测试和业务流程自动化的世界里,工具的选择往往决定了项目的成败。作为一名经历过无数次深夜调试和紧急修复的老兵,我深知选错工具…...
SDMatte透明物体模式深度解析:为什么玻璃杯开启后边缘断裂明显减少?
SDMatte透明物体模式深度解析:为什么玻璃杯开启后边缘断裂明显减少? 1. 透明物体抠图的挑战 透明物体抠图一直是图像处理领域的难题。当我们尝试用传统方法抠取玻璃杯、薄纱这类半透明物体时,经常会遇到以下问题: 边缘断裂&…...
Java不同集合之间的区别
一、核心接口体系List接口实现类特性ArrayListLinkedListVector底层结构动态数组双向链表动态数组(线程安全)查询性能O(1) 快速O(n) 较慢O(1) 快速插入/删除尾部快O(1),中间慢O(n)两端快O(1),中间慢O(n)尾部快O(1),中间…...
SpringBoot3+React18实战:手把手教你用PlayEdu搭建企业培训系统(附避坑指南)
SpringBoot3React18实战:手把手构建企业级培训平台PlayEdu 最近两年企业数字化学习需求激增,但市面SaaS产品要么功能冗余要么价格高昂。作为技术负责人,我在评估多个方案后选择了PlayEdu——这款基于SpringBoot3和React18的开源系统ÿ…...
