Zookeeper安装

zookeeper的安装在之前的文章中已经写过:https://blog.csdn.net/qq_45587153/article/details/123630361?spm=1001.2014.3001.5502

导入POM依赖

<dependency><groupId>org.apache.zookeeper</groupId><artifactId>zookeeper</artifactId><version>3.4.10</version>
</dependency>

测试方法

package com.shen.zk;import org.apache.zookeeper.*;
import org.apache.zookeeper.data.Stat;import java.io.IOException;
import java.util.List;public class TestZookeeper {public static void main (String[] args) throws Exception {//create();//list();//get();delete();}/*** 删除节点* 删除节点前,需要先查询节点的状态cversion,通过getData来查询这个版本* 设计的目的是保证删除的节点是自己想删除的那个*/public static void delete() throws Exception{ZooKeeper zooKeeper = new ZooKeeper("129.211.65.241:2181", 10000, new Watcher() {@Overridepublic void process(WatchedEvent watchedEvent) {System.out.println("delete监听");}});Stat  stat = new Stat();System.out.println(stat);zooKeeper.getData("/parent/sequence0000000001",false,stat);System.out.println(stat);zooKeeper.delete("/parent/sequence0000000001", stat.getCversion());}/*** 查询节点中存储的数据,相当于根据key获取value*/public static void get() throws Exception{ZooKeeper zooKeeper = new ZooKeeper("129.211.65.241:2181", 10000, new Watcher() {@Overridepublic void process(WatchedEvent watchedEvent) {System.out.println("get方法监听");}});//获取数据byte[] datas = zooKeeper.getData("/parent",false,null);System.out.println("节点/parent中存储的数据是:" + new String(datas));}/*** 查询节点相当于遍历* @throws Exception*/public static void list() throws Exception{ZooKeeper zooKeeper = new ZooKeeper("129.211.65.241:2181", 10000, new Watcher() {@Overridepublic void process(WatchedEvent watchedEvent) {System.out.println("list方法监听");}});listAll(zooKeeper,"/");//遍历zk中所有节点List<String> res = zooKeeper.getChildren("/",false);for (String str : res){System.out.println(str);}}/*** 递归遍历所有节点*/private static void listAll(ZooKeeper zooKeeper,String path) throws Exception{//获取当前节点所有字节点List<String> children = zooKeeper.getChildren(path,false);for(String child : children){String currentNodeName = "/".equals(path) ? (path + child) : (path + "/" + child);System.out.println(currentNodeName);listAll(zooKeeper,currentNodeName);}}/*** 创建节点* 什么是会话?* 持久,长期,有状态的对象,多次请求响应* 使用java远程访问zk,步骤:* 1,创建客户端* 2,使用客户端发送命令* 3,处理返回结果* 4,回收资源*/public static void create() throws IOException, InterruptedException, KeeperException {//客户端对象ZooKeeper zooKeeper = new ZooKeeper("129.211.65.241:2181", 10000, new Watcher() {@Overridepublic void process(WatchedEvent watchedEvent) {System.out.println("watch方法执行");}});//创建一个节点String result = zooKeeper.create("/parent","parent data".getBytes(), ZooDefs.Ids.OPEN_ACL_UNSAFE, CreateMode.PERSISTENT);System.out.println("创建parent节点结果:"+ result);//创建一个临时节点String tmpResult = zooKeeper.create("/parent/tmp",null,ZooDefs.Ids.OPEN_ACL_UNSAFE,CreateMode.EPHEMERAL);System.out.println("创建/parent/tmp节点结果:" + tmpResult);//创建一个带序号的节点String seqResult = zooKeeper.create("/parent/sequence",null,ZooDefs.Ids.OPEN_ACL_UNSAFE,CreateMode.PERSISTENT_SEQUENTIAL);System.out.println("创建/parent/sequence节点结果:" + seqResult);Thread.sleep(6000);//关闭客户端zooKeeper.close();}
}

自定义 RPC框架3——JAVA实现Zookeeper节点增删改查相关推荐

  1. Curator基本操作(Zookeeper节点增删改查)

    Curator是Zookeeper的Java客户端库,官网为 https://curator.apache.org . 环境 Ubuntu 22.04 Zookeeper 3.7.1 JDK 17.0 ...

  2. 基于Python Flask框架+jquery Ajax技术实现的增删改查(CRUD)+Ajax的异步文件上传

    运行界面(话不多说先上图) 运行之后的index界面,有登陆.注册功能 登陆界面,输入数据库中用户名.密码不为空且密码是加密的数据,进入main界面 注册界面,用的bootstrop的弹窗,用户名和密 ...

  3. Java连接Mysql数据库增删改查实现

    Java连接Mysql数据库增删改查实现 时间比较赶,我这里只实现查询,有时间再添加另外两个 难度 : ⭐⭐⭐(全星5颗星的情况下) 新建一个动态的网站工程, 把jar包全部复制进去,主要要那个mys ...

  4. JDBC:JAVA连接Mysql实现增删改查

    总有特别赶的时候,小高叫你如何速通JAVA连接数据库Mysql实现增删改查.CV战士 一.前置准备工作 1. 安装IDEA,配置JAVA环境 2. 安装Mysql,配置Mysql环境变量 3. 安装S ...

  5. Java 实现Gbase数据库增删改查功能

    Java 实现Gbase数据库增删改查功能 具体代码如下 主要: 要记得在官网下载驱动包gbase-connector-java-8.3-bin.jar package com.advance.JDB ...

  6. 利用Java针对MySql封装的jdbc框架类 JdbcUtils 完整实现(包含增删改查、JavaBean反射原理,附源码)...

    最近看老罗的视频,跟着完成了利用Java操作MySQL数据库的一个框架类JdbcUtils.java,完成对数据库的增删改查.其中查询这块,包括普通的查询和利用反射完成的查询,主要包括以下几个函数接口 ...

  7. mysql封装 javabean,利用Java针对MySql封装的jdbc框架类JdbcUtils完整实现(包含增删改查、JavaBean反射原理,附源码)...

    最近看老罗的视频,跟着完成了利用Java操作MySql数据库的一个框架类JdbcUtils.java,完成对数据库的增删改查.其中查询这块,包括普通的查询和利用反射完成的查询,主要包括以下几个函数接口 ...

  8. java mysql jdbc 封装_利用Java针对MySql封装的jdbc框架类 JdbcUtils 完整实现(包括增删改查、JavaBean反射原理,附源代码)...

    近期看老罗的视频,跟着完毕了利用Java操作MySql数据库的一个框架类JdbcUtils.java,完毕对数据库的增删改查.当中查询这块,包含普通的查询和利用反射完毕的查询,主要包含以下几个函数接口 ...

  9. 巨杉数据库SequoiaDB在Java开发中的增删改查CURD

    文章目录 JSON应用开发 增删改查操作 1 快速入门 1.1 环境部署 部署SequoiaDB集群环境 部署Windows开发环境 1.2 正式开始 2 CURD教程 2.1 Java开发环境搭建 ...

最新文章

  1. 另类L2TP Tunnel
  2. 微软为华为定制了一个“烂笔头小冰”,让人想起了老罗的“闪念胶囊”
  3. C 语言中” 与””的区别
  4. boost::hana::group用法的测试程序
  5. php session 封装类,PHP封装的数据库保存session功能类
  6. 为自己的p2psearcher理想而努力地奋斗
  7. 奇安信校招面试题来啦
  8. Java高级面试题!docker启动
  9. android ichartjs 曲线图,C#中利用LightningChart绘制曲线图表
  10. Linux/Windows 文件交互读取转义字符变换
  11. windows环境下zookeeper做成服务并启动
  12. 公众号吸粉实操之qq群吸粉
  13. ES选举:Elasticsearch中Master选举完全解读
  14. python 读取txt文件中满足要求的行写到新文件中_python_文本文件里面随机抽取若干行,写入新的文本文件里面...
  15. 使用服务器端控制AJAX页面缓存
  16. Java violate变量
  17. Windows Azure案例:迈阿密市政府使用“云”平台改善服务方案,降低运营成本
  18. Delphi ListView的用法(常用技巧) 作者:蓝色忧郁
  19. day1学习vue2笔记 vue指令
  20. Conv2Former

热门文章

  1. python画图程序实验报告_Python绘图简明教程
  2. iOS中 喷枪打字动画的实现
  3. RIP1 激酶抑制剂可应用于自身免疫性脑脊髓炎的治疗
  4. 从零开始的Nginx详解(4)【Nginx-反向代理】
  5. 如何再笔记本装linux7,在联想小新锐7000笔记本上安装centos7
  6. linux重启后界面超级大,超出屏幕
  7. 解决承载网络状态不可用问题
  8. Linux下ffmpeg安装教程
  9. OSChina 周四乱弹 —— 二次元世界很不安全
  10. 手动SQL注入(盲注)讲解