zookeeper zkClient api 使用
操作步骤:
一、引入zkclient的jar包(maven方式)
<dependency>
<groupId>com.101tec</groupId>
<artifactId>zkclient</artifactId>
<version>0.10</version>
</dependency>
二、调用相关代码
package com.zookeeper.api.zkClientApi; import java.util.List;
import java.util.concurrent.TimeUnit; import org.I0Itec.zkclient.IZkDataListener;
import org.I0Itec.zkclient.ZkClient; public class ZkClientApi { private final static String connectString = "192.168.194.128:2181,192.168.194.129:2181,192.168.194.130:2181"; public static void main(String[] args) throws InterruptedException {
ZkClient zkClient = new ZkClient(connectString,4000);
//zkClient一次创建多个节点
zkClient.createPersistent("/zkclient/zkclient1/zkclient1-1", true);
System.out.println("创建多层节点成功"); List<String> list = zkClient.getChildren("/zkclient");
System.out.println("获取zkclient节点下的子节点:"+list); //zkClient删除一个节点,和原生api一样,只能从最底层节点一个一个删除
// zkClient.delete("/zkclient");
//zkClient递归删除某个节点及其子节点
zkClient.deleteRecursive("/zkclient");
System.out.println("删除zkclient及其下面的子节点成功\n"); //利用watch机制做订阅,使用异步操作处理节点
zkClient.subscribeDataChanges("/node", new IZkDataListener(){
public void handleDataChange(String arg0, Object arg1)
throws Exception {
System.out.println("节点名称:"+arg0+"-->修改后的值:"+arg1);
} public void handleDataDeleted(String arg0) throws Exception {
System.out.println("删除节点"+arg0+"成功");
}
});
zkClient.createPersistent("/node","node");
TimeUnit.SECONDS.sleep(2);
zkClient.writeData("/node", "node1");
TimeUnit.SECONDS.sleep(2);
zkClient.delete("/node");
TimeUnit.SECONDS.sleep(2);
}
}
三、显示测试结果
创建多层节点成功
获取zkclient节点下的子节点:[zkclient1]
删除zkclient及其下面的子节点成功 节点名称:/node-->修改后的值:node
节点名称:/node-->修改后的值:node1
删除节点/node成功
zookeeper zkClient api 使用的更多相关文章
- Zookeeper系列三:Zookeeper客户端的使用(Zookeeper原生API如何进行调用、ZKClient、Curator)和Zookeeper会话
一.Zookeeper原生API如何进行调用 准备工作: 首先在新建一个maven项目ZK-Demo,然后在pom.xml里面引入zk的依赖 <dependency> <groupI ...
- Zookeeper 系列(四)ZKClient API
Zookeeper 系列(四)ZKClient API 环境准备: <dependency> <groupId>com.101tec</groupId> <a ...
- (原) 2.1 Zookeeper原生API使用
本文为原创文章,转载请注明出处,谢谢 Zookeeper原生API使用 1.jar包引入,演示版本为3.4.6,非maven项目,可以下载jar包导入到项目中 <dependency> & ...
- Zookeeper C API 指南四(C API 概览)(转)
上一节<Zookeeper C API 指南三(回调函数)>重点讲了 Zookeeper C API 中各种回调函数的原型,本节将切入正题,正式讲解 Zookeeper C API.相信大 ...
- Zookeeper C API 指南三(回调函数)(转)
2013-02-21 12:54 by Haippy, 9237 阅读, 0 评论, 收藏, 编辑 接上一篇<Zookeeper C API 指南二(监视(Wathes), 基本常量和结构体介绍 ...
- Zookeeper C API 指南一(转)
Zookeeper 监视(Watches) 简介 Zookeeper C API 的声明和描述在 include/zookeeper.h 中可以找到,另外大部分的 Zookeeper C API 常量 ...
- zookeeper client API实现(python kazoo 的实现)
这里主要分析zookeeper client API的实现方式,以python kazoo的实现代码为蓝本进行逻辑分析. 一.代码框架及介绍 API分为同步模式和异步模式.同步模式是在异步模式的基础上 ...
- 9. 使用ZooKeeper Java API编程
ZooKeeper是用Java开发的,3.4.6版本的Java API文档可以在http://zookeeper.apache.org/doc/r3.4.6/api/index.html上找到. Ti ...
- Hadoop生态圈-zookeeper的API用法详解
Hadoop生态圈-zookeeper的API用法详解 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.测试前准备 1>.开启集群 [yinzhengjie@s101 ~] ...
随机推荐
- java传统的文件拷贝 相当于两个大缸需要通过一个勺子(字节数组)一点一点运过去
- 自定义smokeping告警(邮件+短信)
前段时间接到公司IT同事需求,帮助其配置smokeping的告警功能,之前配置的姿势有些问题,告警有些问题,现在调试OK,在此将关键配置点简单记录下. 关键的配置项主要有: 定义告警规则并配置将告警信 ...
- QQ分享-定制分享卡片
一般H5页面在进行分享的时候,都会生成一个分享卡片,但是这些卡片的生成是很多时候是我们是想要生成的卡片, 对于QQ,我们只需要在html页面里加如3个标签即可,如下: <meta itempro ...
- BZOJ3173 TJOI2013最长上升子序列(splay)
容易发现如果求出最后的序列,只要算一下LIS就好了.序列用平衡树随便搞一下,这里种一棵splay. #include<iostream> #include<cstdio> #i ...
- FutureTask 源码解析
FutureTask 源码解析 版权声明:本文为本作者原创文章,转载请注明出处.感谢 码梦为生| 刘锟洋 的投稿 站在使用者的角度,future是一个经常在多线程环境下使用的Runnable,使用它的 ...
- BZOJ 1014 火星人 | 平衡树维护哈希
BZOJ 1014 火星人 题意 有一个字符串,三中操作:在某位置后面插入一个字符.修改某位置的字符.询问两个后缀的最长公共前缀. 题解 看到网上的dalao们都说这道题是平衡树,我就很懵x--平衡树 ...
- 51nod 1571 最近等对 | 线段树 离线
51nod 1571 最近等对 题面 现在有一个序列 a1, a2, ..., an ,还有m个查询 lj, rj (1 ≤ lj ≤ rj ≤ n) .对于每一个查询,请找出距离最近的两个元素 ax ...
- 《Linux内核设计与实现》学习总结 Chap3
第三章 进程管理 进程是Unix操作系统抽象概念中最基本的一种.我们拥有操作系统就是为了运行用户程序,因此,进程管理就是所有操作系统的心脏所在. 3.1进程 概念: 进程:处于执行期的程序.但不仅局限 ...
- MVC使用jQuery从视图向控制器传递Model的2种方法
http://blog.csdn.net/make1828/article/details/29846003 using System.ComponentModel.DataAnnotations; ...
- 使用 python 将 "\r\n" 转换为 "\n"
众所周知, Linux 下没有 "\r\n", 而 windows 下文本工具默认打开文件时使用 t 模式, 使得写入一行结尾的换行符为 "\r\n", 这样造 ...