当前位置: 首页 > news >正文

Zookeeper配置化中心

  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.lryc.cn/news/6399.html

相关文章:

  • 【LeetCode】打家劫舍 III [M](递归)
  • 设计模式——单例模式
  • json-server环境搭建及使用
  • RabbitMQ运行机制
  • 【Spring Cloud Alibaba】(三)OpenFeign扩展点实战 + 源码详解
  • 面向对象设计原则
  • 2022年“网络安全”赛项湖南省赛选拔赛 任务书
  • 学习笔记:Java 并发编程⑥_并发工具_JUC
  • Linux文件隐藏属性(修改与显示):chattr和lsattr
  • 广东省基层就业补贴
  • 高压放大器在超声导波钢轨传播中的应用
  • Java字符串常见拼接方式
  • 商城业务:购物车
  • 计算机网络学习笔记(一)
  • 【单目标优化算法】烟花优化算法(Matlab代码实现)
  • 微服务项目【秒杀商品展示及商品秒杀】
  • DIDL3_模型选择、复杂度、过欠拟合的相关概念
  • Android 9.0 去除锁屏界面及SystemUI无sim卡拨打紧急电话控件显示功能实现
  • AntDB-M设计之内存结构
  • 互联网舆情监测公司监测哪些内容,TOOM北京舆情监测公司
  • 一篇文章带你熟练使用Ansible中的playbook
  • HashedWheelTimer
  • OPenCV库移植到ARM开发板子上面配置过程
  • Jenkins实现CI/CD
  • 如何给img标签里的请求添加自定义header
  • Linux系统基本概念操作,用户和文件权限管理
  • 数据库中的单表查询和多表查询
  • 全网详解MyBatis-Plus LambdaQueryWrapper的使用说明以及LambdaQueryWrapper和QueryWapper的区别
  • 暴力破解(new)
  • Android12之apex调试