Zookeeper配置化中心

news2024/11/26 0:32:27
  1. zookeeper的基本知识
  2.       zookeeper的数据结构:zookeeper提供的命名空间非常类似于标准的文件系统,key-value的形式存储,名称key由/分割的一系列路径元素,zookeeper名称空间中的每个节点都是一个路径标志。
  3. windows下的zookeeper安装:
  4.    在官网下载安装包,解压到本地目录文件夹下面,官网路径:​​​​​​https://zookeeper.apache.org/releases.html#releasenotes
  5. 修改配置文件zoo_sample.cfg    复制一份  重命名为zoo,cfg
  6. 在安装目录下面新建一个空的data文件夹和Log文件夹
  7. 修改zoo.cfg配置文件,将dataDir=/tmp/zookeeper修改成zookeeper安装目录所在的data文件夹,再添加一条数据日志的配置。(需要根据自己的安装路径来修改)
  8. 然后双击zkServer.cmd启动程序。
  9. 控制台显示bind to port 0.0.0.0/0.0.0.0:2181,表示服务端启动成功
  10. 双击zkCli.cmd启动客户端:
  11. 出现welcom to zookeeper!  表示我们成功启动客户端。
  12. zookeeper   java客户端搭建
  13. 工具:IDEA      创建一个maven工程。命名为zookeeper-demo,并且引入如下依赖,可以自行在maven中央仓库选择合适的版本,maven依赖:
  14. <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结构详解

  15. 在zookeeper中,可以说zookeeper中所有存储的数据是由znode组成的,节点也称为znode,并且以key/value形式存储数据。

  16. 整体结构类似于linux文件系统的模式以树形结构存储,其中以根路径/开头。

  17. 进入zookeeper安装的bin目录,通过sh  zkCli.sh 打开命令行终端,执行ls /命令显示

  18. ls  /

  19. ls  /zookeeper

  20. ls  /zookeeper/quota

  21. znode的状态属性

  22. czxid  创建节点时的事务ID

  23. ctime  创建节点时的时间

  24. mzxid  最后修改节点时的事务ID

  25. mtime   最后修改节点时的时间

  26. pzxid   表示该节点的子节点列表最后一次修改的事务ID,

  27. 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

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

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

相关文章

使用Docker快速部署ES单机

所有的操作都是基于Docker来的&#xff0c;没有装Docker的话请参照官方文档安装单机环境部署初始化相关目录mkdir -p /usr/local/elasticsearch/{config,plugins,data}准备配置文件vim /usr/local/elasticsearch/config/elasticsearch.yml将下面的内容粘贴到elasticsearch.yml#…

训练一个中文gpt2模型

前言 这是我的github上的一个介绍&#xff0c;关于如何训练中文版本的gpt2的。链接为: https://github.com/yuanzhoulvpi2017/zero_nlp 介绍 本文&#xff0c;将介绍如何使用中文语料&#xff0c;训练一个gpt2可以使用你自己的数据训练&#xff0c;用来&#xff1a;写新闻、…

linux中top命令分析

TOP命令是 比较常用的性能分析命令&#xff0c;可以看出服务器CPU 、负载、内存、磁盘、IO等数值&#xff0c;接下来就详细解读top命令 top命令 打开服务器终端&#xff0c;直接输入top&#xff0c;top命令中的数据显示的都是当前的实时数据 直接这样输入&#xff0c;回车即…

iptables防火墙屏蔽指定ip的端口

因为需要测试客户端程序与hadoop服务器之间正常通信需要开通的端口, 所以在hadoop各服务器上使用iptables防火墙屏蔽了测试客户端程序的ip和所有端口。然后&#xff0c;根据报错信息提示的端口号来逐步放开直到能正常通信下载文件。 在服务器端屏蔽指定ip访问所有端口 #查看…

UUID的弊端以及雪花算法

目录 一、问题 为什么需要分布式全局唯一ID以及分布式ID的业务需求 ID生成规则部分硬性要求 ID号生成系统的可用性要求 二、一般通用方案 &#xff08;一&#xff09;UUID &#xff08;二&#xff09;数据库自增主键 &#xff08;三&#xff09;Redis生成全局id策略 三…

与AI相遇 | 在ChatGPT中输入“情人节”,我们会得到......?

最近ChatGPT可谓是风靡全球&#xff0c;大家彼此的问候从“你吃饭了吗”变成“你玩ChatGPT了吗”。这款当今最火爆的AI语言模型&#xff0c;是美国人工智能研究实验室OpenAI新推出的一种人工智能技术驱动的自然语言处理工具&#xff0c;使用了Transformer神经网络架构&#xff…

校园创新创业基地管理系统(java,jsp,ssh,mysql)+全套视频教程

技术栈: JAVA,SSH, MYSQL, JQUERY,HTML,CSS, JAVASCRIPT首页访问 http://localhost:8080/Struts2.3.16.1Hibernate4.3.4Spring4.0.2/index_index.action管理员admin 123456用户 user1 123456代码功能演示&#xff1a; http://woc.xin/8C64kZ功能列表:本系统包含普通用户,后台管…

LeetCode(Java)—— 加一(简单)

加一概述&#xff1a;给定一个由整数组成的非空数组所表示的非负整数&#xff0c;在该数的基础上加一。最高位数字存放在数组的首位&#xff0c; 数组中每个元素只存储单个数字。你可以假设除了整数 0 之外&#xff0c;这个整数不会以零开头。输入&#xff1a;digits [1,2,3] …

如何设计一个API接口?

在日常开发中&#xff0c;总会接触到各种接口。前后端数据传输接口&#xff0c;第三方业务平台接口。一个平台的前后端数据传输接口一般都会在内网环境下通信&#xff0c;而且会使用安全框架&#xff0c;所以安全性可以得到很好的保护。这篇文章重点讨论一下提供给第三方平台的…

Python readline()和readlines()函数:按行读取文件

如果想读取用 open() 函数打开的文件中的内容&#xff0c;除了可以使用 read() 函数&#xff0c;还可以使用 readline() 和 readlines() 函数。和 read() 函数不同&#xff0c;这 2 个函数都以“行”作为读取单位&#xff0c;即每次都读取目标文件中的一行。对于读取以文本格式…

基于JAVA+SpringBoot+VUE的心理健康测试系统的设计与实现

✌全网粉丝20W,csdn特邀作者、博客专家、CSDN新星计划导师、java领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和毕业项目实战✌ &#x1f345;文末获取项目下载方式&#x1f345; 一、项目背景介绍&#xff1a; 随着现代社会的不断发…

写给小白,Python 爬虫学习思路

爬虫是Python是一个很经典的方向&#xff0c;大多数的小伙伴看到的是Python爬虫的就业效果&#xff0c;确实Python爬虫学习成本低&#xff08;学习快&#xff09;&#xff0c;就业效果好&#xff0c;特别适合新手入门&#xff0c;但是也要关注另外一个点&#xff0c;就是Python…

iTerm2 + Oh My Zsh 打造舒适终端体验

最终效果图&#xff1a; 因为powerline以及homebrew均需要安装command line tool&#xff0c;网络条件优越的同学在执行本文下面内容之前&#xff0c;可以先安装XCode并打开运行一次&#xff08;会初始化安装components&#xff09;&#xff0c;省去以后在iterm2中的等待时间。…

LeetCode 234. 回文链表 | C语言版

LeetCode 234. 回文链表 | C语言版LeetCode 234. 回文链表题目描述解题思路思路一&#xff1a;使用快慢双指针代码实现运行结果参考文章&#xff1a;[https://leetcode.cn/problems/palindrome-linked-list/solutions/1011052/dai-ma-sui-xiang-lu-234-hui-wen-lian-bia-qs0k/?…

这几款高效办公神器,职场大神都在用(建议收藏)

都快2023年了&#xff0c;还不知道怎么用网站来提高工作和生活质量&#xff1f;还不快搬好小板凳&#xff0c;听我来安利这几个实用网站&#xff01; 一、做图神器 1.创可贴&#xff1a;国内最火的在线设计工具 链接&#xff1a;https://www.chuangkit.com/designtools/desi…

基于深度学习的三维重建(一):三维重建简介、patchmatchNet环境部署、用colmap如何测试自己的数据集

目录 1.什么是三维重建 2.MVS是什么 3.传统MVS的局限性和为什么基于深度学习的MVS性能好于传统三维重建 4.基础概念 5. patchmatchNet环境配置 6.如何测试自己的数据集&#xff08;位姿计算&#xff09; 6.1 colmap导出位姿 6.2 将colmap位姿转换成MVS读取的数据格式 1.…

Linux安装Docker配置docker-compose 编排工具【超详细】

一、介绍Docker Docker 是一个开源的应用容器引擎&#xff0c;让开发者可以打包他们的应用以及依赖包到一个可移植的镜像中&#xff0c;然后发布到任何流行的 Linux或Windows操作系统的机器上&#xff0c;也可以实现虚拟化。容器是完全使用沙箱机制&#xff0c;相互之间不会有…

面试官:什么是性能测试计划?(内含干货)

引言在进入今天的内容前&#xff0c; 先想几个问题&#xff1a;什么是测试计划&#xff1f;什么是性能测试计划&#xff1f;在你的性能知识领域中&#xff0c; 你认为性能测试计划应该包含哪些内容&#xff1f;因为作为企业的金牌面试官&#xff0c; 经过我面试的求职者&#x…

一文搞懂:JS严格模式“use strict”

什么是JS的严格模式 JS严格模式概念是在ES5中引入的&#xff0c;在此模式下&#xff0c;JS对语法的要求会变的严格&#xff0c;某些不太严谨的代码在严格模式下将不能运行。 如何启用严格模式 只需要JS代码的起始添加 "use strict"即可。如&#xff1a; "use…

Spring Boot邮件发送(powernode CD2207)(内含教训视频+源代码)

Spring Boot邮件发送&#xff08;powernode CD2207&#xff09;&#xff08;内含教训视频源代码&#xff09; 教学视频源代码下载链接地址&#xff1a;https://download.csdn.net/download/weixin_46411355/87452056 目录Spring Boot邮件发送&#xff08;powernode CD2207&…