ZKClient操作zookeeper
前面简单研究了curator的使用,下面简单研究zkclient的使用。
1.创建连接
private static final String CONNECT_ADDR = "127.0.0.1:2181,127.0.0.1:2182,127.0.0.1:2183"; private static ZkClient geneClient() {
return new ZkClient(new ZkConnection(CONNECT_ADDR), 10000);
}
创建客户端的方法: ZKClient(Arguments)
参数1:zkServer zookeeper服务器的地址,用","分割
参数2:sessionTimeout超时回话,为毫秒,默认是30000ms
参数3:connectionTimeOut 连接超时会话
参数4:IZKConnection接口的实现类
参数5:zkSerializer 兹定于序列化实现
2.简单操作
1.创建节点
可以递归创建节点,只不过递归创建的节点值为空。
// 创建节点
geneClient.create("/test1", "sssss", CreateMode.PERSISTENT);
// 递归创建节点,只是节点的值为空
geneClient.createPersistent("/test2/t22", true);
结果
创建方法如下:
2.删除节点
可以递归删除节点。
boolean delete = geneClient.delete("/test1");
// 递归删除
boolean deleteRecursive = geneClient.deleteRecursive("/test2");
3.获取节点内容和遍历子节点
Object readData = geneClient.readData("/test1");
System.out.println(readData); List<String> list = geneClient.getChildren("/test2");
for (String p : list) {
System.out.println(p);
String rp = "/test2/" + p;
String data = geneClient.readData(rp);
System.out.println("节点为:" + rp + ",内容为: " + data);
}
4.判断节点是否存在
boolean exists = geneClient.exists("/test1");
System.out.println(exists);
5.修改节点
Stat writeData = geneClient.writeData("/test1", "cccc");
System.out.println(writeData);
System.out.println(geneClient.readData("/test1"));
3.监听节点
1.监听节点变化
geneClient.subscribeDataChanges("/test1", new IZkDataListener() { @Override
public void handleDataDeleted(String dataPath) throws Exception {
System.out.println("节点被删除");
} @Override
public void handleDataChange(String dataPath, Object data) throws Exception {
System.out.println(dataPath + "\t" + data);
}
});
2.监听子节点变化(只能监听字节点,子孙节点无效)
geneClient.subscribeChildChanges("/test1", new IZkChildListener() {
@Override
public void handleChildChange(String parentPath, List<String> currentChilds) throws Exception {
System.out.println(parentPath+"\t");
for(String s:currentChilds){
System.out.println(s);
}
}
});
ZKClient操作zookeeper的更多相关文章
- Java 使用ZkClient操作Zookeeper
目录 ZkClient介绍 导入jar包依赖 简单使用样例 ZkClient介绍 因为Zookeeper API比较复杂,使用并不方便,所以出现了ZkClient,ZkClient对Zookeeper ...
- curator框架的使用以及实现分布式锁等应用与zkclient操作zookeeper,简化复杂原生API
打开zookeeper集群 先体会一下原生API有多麻烦(可略过): //地址 static final String ADDR = "192.168.171.128:2181,192.16 ...
- Java操作zookeeper
Java操作zookeeper总共有三种方式: 1.原生的Java API 2.zkclient 3.curator 第一种实现代码: pom.xml <dependency> <g ...
- Java代码操作zookeeper
.personSunflowerP { background: rgba(51, 153, 0, 0.66); border-bottom: 1px solid rgba(0, 102, 0, 1); ...
- Java curator操作zookeeper获取kafka
Java curator操作zookeeper获取kafka Curator是Netflix公司开源的一个Zookeeper客户端,与Zookeeper提供的原生客户端相比,Curator的抽象层次更 ...
- [py]python操作zookeeper
参考: https://blog.csdn.net/heizistudio/article/details/79568188 1.安装zookeeper zookeeper-3.4.6.tar.gz ...
- 使用Curator操作ZooKeeper
Curator是Netflix公司开源的一个ZooKeeper client library,用于简化ZooKeeper客户端编程.它包含如下模块: Framework:Framework是ZooKe ...
- java 操作zookeeper
java 操作zookeeper(一) 首先要使用java操作zookeeper,zookeeper的javaclient 使我们更轻松的去对zookeeper进行各种操作,我们引入zookeeper ...
- Zookeeper--java操作zookeeper
如果是使用java操作zookeeper,zookeeper的javaclient 使我们更轻松的去对zookeeper进行各种操作,我们引入zookeeper-3.4.5.jar 和 zkclien ...
随机推荐
- springboot1.5升级2.0后遇到的问题
https://blog.csdn.net/zhiquanzhou/article/details/80566630
- Potplayer播放器使用笔记
Potplayer播放器使用笔记 1.暂停-播放的快捷键是 空格键2.C播放视频的加速倍数3.X播放的时候减速的倍数 Tab键:显示一下播放的信息,很多 Enter键:全屏或是缩小播放窗口 全屏拉伸快 ...
- Openldap命令详解
Openldap 客户端常用管理命令 1.ldapadd -x: 简答认证方式 -W: 不需要在命令上写密码 ldapapp -x -D "cn=Manager,dc=suixingpay, ...
- Hbase运维手册(1)
1. region情况 需要检查 1. region的数量(总数和每台regionserver上的region数) 2. region的大小 如果发现异常可以通过手动merge region和手动分配 ...
- golang实现tcp编程
实现简单的tcp服务 package main import ( "fmt" "net" ) func main() { fmt.Println("服 ...
- CodeForces - 375A Divisible by Seven(数学)
https://vjudge.net/problem/48715/origin 题意:给出必定含1689四个数字的字符串,随意交换位置构造出能被7整除的数. 分析:数学思维题.观察发现1689的排列与 ...
- 2016vijos 1-3 兔子的晚会(生成函数+倍增FWT)
求出序列的生成函数后,倍增FWT #include<cstdio> using namespace std; #define N 2048 ; int inv; ]; int Pow(in ...
- 声源测向: TDOA-GCC-PATH方法
收藏链接: http://www.funcwj.cn/2018/05/10/gcc-phat-for-tdoa-estimate/
- 网络编程之Socket & ServerSocket
网络编程之Socket & ServerSocket Socket:网络套接字,网络插座,建立网络通信连接至少要一对端口号(socket).socket本质是编程接口(API),对TCP/IP ...
- 将WORD2010文件标记为最终状态
将WORD2010文件标记为最终状态 在与他人共享WORD2010文档的副本之前,可以使用“标记为最终状态”命令将文件设置为只读,防止他人对文件进行更改.在将文件标记为最终状态后,键入.编辑命令以及校 ...