zookeeper 客户端操作
2024-08-31 22:12:21
代码
/**
* 创建zk客户端
* 实现循环监听的两个必要条件:1.程序不能结束2.递归调用监听器
* @author tele
*
*/
public class Demo {
private int sessionTimeout = ;
//多个节点用逗号隔开
private String connectString="hadoop002:2181,hadoop003:2181";
private ZooKeeper zkClient; /**
* 初始化
* @throws IOException
*/
@Before
public void init() throws IOException {
zkClient = new ZooKeeper(connectString, sessionTimeout,new Watcher(){
@Override
public void process(WatchedEvent event) {
try {
//实现循环监听
List<String> list = zkClient.getChildren("/",true);
} catch (KeeperException e) {
e.printStackTrace();
} catch (InterruptedException e) {
e.printStackTrace();
}
System.out.println(event.getType() + "\t" + "path:" + event.getPath()); }
});
} /**
* 创建节点
* @throws InterruptedException
* @throws KeeperException
*/
@Test
public void createNode() throws KeeperException, InterruptedException {
String nodeName = zkClient.create("/wycrencaiss","ok".getBytes(),Ids.OPEN_ACL_UNSAFE,CreateMode.PERSISTENT_SEQUENTIAL);
System.out.println("创建的节点名称是-----" + nodeName);
} /**
* 获取节点
* @throws InterruptedException
* @throws KeeperException
*/
@Test
public void getNode() throws KeeperException, InterruptedException {
List<String> list = zkClient.getChildren("/",true);
for (String string : list) {
System.out.println(string);
} Thread.sleep(Long.MAX_VALUE);
} /**
* 判断节点是否存在
* @throws InterruptedException
* @throws KeeperException
*/
@Test
public void isExist() throws KeeperException, InterruptedException { Stat stat = zkClient.exists("/wyc",true);
System.out.println(stat==null?"not exist":"exist");
Thread.sleep(Long.MAX_VALUE);
}
}
maven
<dependency>
<groupId>org.apache.zookeeper</groupId>
<artifactId>zookeeper</artifactId>
<version>3.4.</version>
</dependency>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.11</version>
<scope>test</scope>
</dependency>
最新文章
- 一键配置openvpn
- JS通过身份证号码获取出生年月日
- YII2数据库依赖缓存
- 神奇的C语言
- 2.openssl rsa/pkey
- linux tar order
- 调用REST接口获取数据
- C# 文件流相关操作
- JS 随机数
- objective-c中使用cocoa的NSPredicate,谓词(十四)
- SharePoint 2010 Form Authentication (SQL) based on existing database
- java 学习第二天小练习
- MVC4不支持EF6解决方案 &;&; Nuget控制台操作说明
- toLatin1 qt
- 第一册:lesson ninety-three。
- SSM项目思路整合NEW
- powershell 删除8天前的日志
- pip查看已安装包列表
- centos7安装mantis
- 【Oracle】浅析Oracle中的事务
热门文章
- echarts同一页面四个图表切换的js数据交互
- UML学习总结(3)——StarUML指导手册
- C语言深度剖析-----函数
- CQRS之旅——旅程6(我们系统的版本管理)
- POJ 1364 King (UVA 515) 差分约束
- 【Codeforces Round #435 (Div. 2) C】Mahmoud and Ehab and the xor
- SpringBoot日志logback-spring.xml分环境(转)
- eclipse在线安装超级炫酷黑色主题
- 18、x264编码在zedboard上的实现(软编码)
- PatentTips - Modified buddy system memory allocation