本文转自测试人社区,原文链接:https://ceshiren.com/t/topic/29805

一,zookeeper介绍

  • zookeeper是一个分布式的、开源的程序协调服务,是 hadoop 项目下的一个子项目。
  • Zookeeper特点:顺序一致性、原子性、单一映像、可靠性。

软件测试学习笔记丨zookeeper简介_zookeeper

二,ZK数据模型

  • Zookeeper维护一个类似文件系统的数据结构,如图所示。
  • 每个子目录项如NameService都被称作为znode,和文件系统一样,我们能够自由的增加、删除znode,在一个znode下增加、删除子znode,唯一的不同在于znode是可以存储数据的。

软件测试学习笔记丨zookeeper简介_测试开发_02

软件测试学习笔记丨zookeeper简介_zookeeper_03

三,ZK节点类型

  • 节点类型
  • PERSISTENT-持久化目录节点:客户端与zookeeper断开连接后,该节点依旧存在。
  • PERSISTENT_SEQUENTIAL-持久化顺序编号目录节点:客户端与zookeeper断开连接后,该节点依旧存在,只是Zookeeper给该节点名称进行顺序编号;
  • EPHEMERAL-临时目录节点:客户端与zookeeper断开连接后,该节点被删除;
  • EPHEMERAL_SEQUENTIAL-临时顺序编号目录节点:客户端与zookeeper断开连接后,该节点被删除,只是Zookeeper给该节点名称进行顺序编号。

四,常用命令和参数说明

zk登录

  • 机器:ip地址,登录名: admin 密码:xxx
  • cd bin
  • zkCli.sh -server 10.177.67.201:2181

查看 dubbo provider是否已经注册到zk:

  • ls /dubbo/com.oppo.os.ads.show.cpd.service.IMixCpdListSvc/providers
  • 查看path下的节点: ls /ors-sdk/prod/search/recommend/sdk/hosts

查看服务注册配置信息

新建节点

  • create /ors-sdk/prod/search/recommend/sdk/hosts/10.177.102.21:48825 10.177.102.21:48825
  • 创建临时节点:create [-s] [-e] path data acl
  • -s和-e分别指定节点特性:顺序或临时节点,默认情况下,不添加-s或-e参数的,创建的是持久节点
  • acl:用来进行权限控制,缺省情况下,不做任何权限控制
  • path:节点路径
  • data:节点保存的数据例子

查看节点

  • get /FUXI/DATA_TYPE/cpd-app-down/sdk

删除节点

  • rmr /okeeper/BaiduRecall/10.177.253.76:8999
  • delete /okeeper/BaiduRecall/10.177.253.76:8999 --没有子节点可使用delete