zookeeper之三 ZKClient客户端的使用
ZKClient在原生API接口上进行了包装,同时在内部实现了诸如session超时重连、watcher反复注册等功能,使得zookeeper客户端繁琐的细节对开发人员透明。下面将从以下几个方面来使用ZKClient这个Zookeeper客户端。
- 1.创建会话
- 2.创建节点
- 3.读取数据
- 4.更新数据
- 5.删除节点
- 6.检查节点是否存在
首先需要加入zkclient的maven依赖
<!--zkClient-->
<!-- https://mvnrepository.com/artifact/com.101tec/zkclient -->
<dependency>
<groupId>com.101tec</groupId>
<artifactId>zkclient</artifactId>
<version>0.10</version>
</dependency>
public class ZKClientDemo {
//zookeeper地址。集群时使用逗号分隔
private static final String zkServers = "127.0.0.1:2181";
public static void main(String[] args) {
//创建会话
ZkClient zkClient = new ZkClient(zkServers, 3000);
//创建节点
String path = "/mynode";
String data = "hello";
//zkClient.createPersistent(path);
//zkClient.createEphemeral(path);
zkClient.create(path, data, CreateMode.PERSISTENT);
System.out.println("是否存在mynode节点:" + zkClient.exists(path));
//列出根下所有节点
System.out.println("根下拥有的子节点:" + zkClient.getChildren("/"));
//读取节点的数据
System.out.println(zkClient.readData(path));
//修改节点数据
zkClient.writeData(path, "world");
System.out.println(zkClient.readData(path));
//删除节点
zkClient.delete(path);
//zkClient.delete(path, 1);//删除指定版本号的节点
//zkClient.deleteRecursive(path);//级联删除所有子节点
System.out.println("删除节点后:" + zkClient.getChildren("/"));
//关闭客户端连接
if (zkClient != null) {
zkClient.close();
}
}
}
zookeeper之三 ZKClient客户端的使用的更多相关文章
- ZooKeeper:第三方客户端 ZKClient
ZKClient ZKClient的设计 ZKClient组件说明 重要的处理流程说明 启动ZKClient 为节点注册Watcher ZooKeeper的变更操作 客户端处理变更 序列化处理 ZKC ...
- ZooKeeper学习总结(2)——ZooKeeper开源Java客户端ZkClient使用
zkclient是zookeeper的Java客户端.它让Zookeeper API 使用起来更简单:它非常方便订阅各种事件并自动重新绑定事件(会话建立.节点修改.节点删除.子节点变更等):它提供了s ...
- 【分布式】Zookeeper使用--开源客户端
一.前言 上一篇博客已经介绍了如何使用Zookeeper提供的原生态Java API进行操作,本篇博文主要讲解如何通过开源客户端来进行操作. 二.ZkClient ZkClient是在Zookeepe ...
- 02.ZooKeeper的Java客户端使用
1.ZooKeeper常用客户端比较 1.ZooKeeper常用客户端 zookeeper的常用客户端有3种,分别是:zookeeper原生的.Apache Curator.开源的zkclie ...
- zookeeper的WEB客户端zkui使用
转载自:http://blog.csdn.net/csolo/article/details/53694665 前面几篇实践说明了zookeeper如何配置和部署,如何开发,因为大多是后台操作,对于维 ...
- Zookeeper的java客户端API使用方法(五)
前面几篇博文,我们简单的介绍了一下zookeeper,如何安装zookeeper集群,以及如何使用命令行等.这篇博文我们重点来看下Zookeeper的java客户端API使用方式. 创建会话 客户端可 ...
- Zookeeper Zkclient客户端
Zkclient是对Zookeeper的原生API进行了包装,实现了超时重连.Watcher反复注册等功能,它可以实现递归创建,删除节点,但是zkClient不能递归给节点赋值. 主要的api如下: ...
- [转载] ZooKeeper的Java客户端API
转载自 http://www.cnblogs.com/ggjucheng/p/3370359.html http://zookeeper.apache.org/doc/trunk/javaExampl ...
- Zookeeper使用--开源客户端
一.ZkClient ZkClient是在Zookeeper原生API接口之上进行了包装,是一个更易用的Zookeeper客户端,其内部还实现了诸如Session超时重连.Watcher反复注册等功能 ...
随机推荐
- SpringBoot(十二):SpringBoot整合Kafka
https://blog.csdn.net/saytime/article/details/79950635
- maven依赖传递和排除依赖冲突
1 依赖的传递 假如 A项目 依赖 a.jar 1.0.1,b.jar 1.0.1,没有直接依赖c.jar 1.0.1,但是b.jar 1.0.1依赖了c.jar 1.0.1,可以说A项目间接依赖了c ...
- E: 错误,pkgProblemResolver::Resolve 发生故障,这可能是有软件包被要求保持现状的缘故。 E: 无法更正依赖关系
mentohust:i386 已经是最新的版本了. 您可能需要运行"apt-get -f install"来纠正下列错误: 下列软件包有未满足的依赖关系: mentohust:i ...
- docker-容器完整构建过程
container 代码app,构建,运行,分享(推送)image mkdir img1 cd img1 [root@cu-tmp-201 img1]# ls app.py Dockerfile re ...
- Gradle原理动画讲解(五)
Gradle原理动画讲解
- 【Linux 应用编程】基础知识
错误提示 Linux 提供的系统调用API,通常会在失败的时候返回 -1.如果想获取更多更详细的报错信息,需要借助全局变量 errno 和 perror 函数: #include <stdio. ...
- Jmeter---不同线程组的使用介绍(转)
在添加线程组:发现线程组种类挺多的 翻查资料后对几个工具进行总结: 原本想写三个 在翻阅资料,后发现下面博文比较详情, 本文大部分来自: https://blog.csdn.net/sinat_32 ...
- Django 基于角色的权限控制
有一种场景, 要求为用户赋予一个角色, 基于角色(比如后管理员,总编, 编辑), 用户拥有相应的权限(比如管理员拥有所有权限, 总编可以增删改查, 编辑只能增改, 有些页面的按钮也只有某些角色才能查看 ...
- spark 怎么去连接 ElasticSearch
https://stackoverflow.com/questions/52659109/cannot-read-from-elasticsearch-using-pyspark https://st ...
- java 内部编译异常的处理方法
1.可能存在的问题. 在cmd 输入 java -version 和javac -version 检验java的环境是否正常,不正常就卸载重装. 搞定!