• 引入依赖
<dependency>
<groupId>com.101tec</groupId>
<artifactId>zkclient</artifactId>
<version>0.10</version>
</dependency>
  • 会话连接
 package com.karat.cn.zookeeper.zkclient;

 import org.I0Itec.zkclient.ZkClient;
/**
* 创建会话(连接zookeeper)
* @author 开发
*
*/
public class SessionDemo { private final static String CONNECTSTRING="47.107.121.215:2181"; public static void main(String[] args) {
ZkClient zkClient=new ZkClient(CONNECTSTRING,4000);
System.out.println(zkClient+" - > success连接");
}
}
  • 节点简单操作
 package com.karat.cn.zookeeper.zkclient;

 import java.util.List;
import java.util.concurrent.TimeUnit; import org.I0Itec.zkclient.IZkChildListener;
import org.I0Itec.zkclient.IZkDataListener;
import org.I0Itec.zkclient.ZkClient;
/**
* 节点操作
* @author Administrator
*
*/
public class ZkClientApiOperatorDemo { private final static String CONNECTSTRING="47.107.121.215:2181"; private static ZkClient getInstance(){
return new ZkClient(CONNECTSTRING,10000);//10000是连接超时时间
} public static void main(String[] args) throws InterruptedException {
ZkClient zkClient=getInstance();//连接
//zkClient.createEphemeral("/zkClient");//创建临时节点
//zkClient中提供递归创建父节点的功能
//zkClient.createPersistent("/zkClient/a/b/c/d",true);//创建持久化节点
//删除节点
//zkClient.delete("/zkClient");
//递归删除节点
//zkClient.deleteRecursive("/zkClient");
//获取子节点
List<String> list=zkClient.getChildren("/zkClient/a");
System.out.println(list); //watcher(订阅获取)
zkClient.subscribeDataChanges("/node", new IZkDataListener() { @Override
public void handleDataDeleted(String dataPath) throws Exception {
// TODO Auto-generated method stub } @Override
public void handleDataChange(String dataPath, Object data) throws Exception {
// TODO Auto-generated method stub
System.out.println("节点名称:"+dataPath+"->节点修改后的值"+data);
}
}); zkClient.writeData("/node", "123");//修改节点的数据
TimeUnit.SECONDS.sleep(2);//上述事件是异步的,需要睡两秒 zkClient.subscribeChildChanges("/node", new IZkChildListener() { @Override
public void handleChildChange(String parentPath, List<String> currentChilds) throws Exception {
// TODO Auto-generated method stub }
});
}
}

zookeeper客户端使用第三方(zkclient)封装的Api操作节点的更多相关文章

  1. zookeeper客户端使用第三方(Curator)封装的Api操作节点

    1.为什么使用Curator? Curator本身是Netflix公司开源的zookeeper客户端: Curator  提供了各种应用场景的实现封装: curator-framework  提供了f ...

  2. Java 封装 HDFS API 操作

    代码下载地址:点击下载 一:环境介绍 hadoop:2.6 Ubuntu:15.10 eclipse:3.8.1 二:操作包含 推断某个目录是否存在              isExist(fold ...

  3. ZooKeeper客户端原生API的使用以及ZkClient第三方API的使用

    这两部分内容的介绍主要讲的是节点及节点内容和子节点的操作,并且讲解的节点的事件监听以及ACL授权 ZooKeeper客户端原生API的使用 百度网盘地址: http://pan.baidu.com/s ...

  4. Zookeeper系列三:Zookeeper客户端的使用(Zookeeper原生API如何进行调用、ZKClient、Curator)和Zookeeper会话

    一.Zookeeper原生API如何进行调用 准备工作: 首先在新建一个maven项目ZK-Demo,然后在pom.xml里面引入zk的依赖 <dependency> <groupI ...

  5. 聊聊、Zookeeper 客户端 ZkClient

    [ZkClient]  ZkClient 是 GitHub 上一个开源的客户端,如果我们用 Maven 来管理工程,则引用如下. <dependency> <groupId>o ...

  6. Zookeeper客户端Curator基本API

    在使用zookeper的时候一般不使用原生的API,Curator,解决了很多Zookeeper客户端非常底层的细节开发工作,包括连接重连.反复注册Watcher和NodeExistsExceptio ...

  7. zookeeper(六):Zookeeper客户端Curator的API使用详解

    简介 Curator是Netflix公司开源的一套zookeeper客户端框架,解决了很多Zookeeper客户端非常底层的细节开发工作,包括连接重连.反复注册Watcher和NodeExistsEx ...

  8. Zookeeper客户端使用(使用zkclient)

    Zookeeper客户端使用 二.使用zkclient 在pom.xml中加入依赖 <dependency> <groupId>com.101tec</groupId&g ...

  9. Java API操作ZooKeeper

    创建会话 package org.zln.zk; import org.apache.zookeeper.WatchedEvent; import org.apache.zookeeper.Watch ...

随机推荐

  1. IRedisClient

    事实上,IRedisClient里面的很多方法,其实就是Redis的命令名.只要对Redis的命令熟悉一点就能够非常快速地理解和掌握这些方法,趁着现在对Redis不是特别了解,我也对着命令来了解一下这 ...

  2. C# 正规表达式

    在C#中怎么用正则表达式限制文本框内不能输入数字?只能输入数字:"^[0-9]*$".只能输入n位的数字:"^\d{n}$".只能输入至少n位的数字:" ...

  3. java.lang.OutOfMemoryError: Java heap space异常

    最近使用Tomcat跑项目时,其他项目可以正常运行,但有一个项目报java.lang.OutOfMemoryError: Java heap space异常,查了资料后,找到一个处理我所遇见异常的解决 ...

  4. DAY18-Django之form表单

    构建一个表单 假设你想在你的网站上创建一个简单的表单,以获得用户的名字.你需要类似这样的模板: <form action="/your-name/" method=" ...

  5. Eclipse Maven 编译错误 Dynamic Web Module 3.0 requires Java 1.6 or newer 解决方案

    Eclipse Maven 开发一个 jee 项目时,编译时遇到以下错误:Description Resource Path Location TypeDynamic Web Module 3.0 r ...

  6. 【270】IDL处理GeoTIFF数据

    参考:将原GeoTIFF数据的投影坐标信息赋值到新创建的文件上 pro tiff_projection ;启动ENVI e = ENVI(/HEADLESS) ;打开文件 file = 'D:\01- ...

  7. 【总结整理】display与position之间的关系【较完整】(转)

    display与position之间的关系   以防自己忘记写的 网上找的 positon 与 display 的相互关系 元素分为内联元素和区块元素两类(当然也有其它的),在内联元素中有个非常重要的 ...

  8. SQL server2008无法收缩日志

    SQL server2008无法收缩日志,错误信息为: 1:由于最小日志空间要求,无法收缩日志文件 2:无法收缩日志文件 2 (XXX_log),因为该文件结尾的逻辑日志文件正在使用 描述: 用的是网 ...

  9. tomcat启动时加载配置文件 报错

    原因:  @serice("customerService")  和@Repository(value="customerDao")       解决: 直接@ ...

  10. java获取本机名称、IP、MAC地址和网卡名称

    java获取本机名称.IP.MAC地址和网卡名称 摘自:https://blog.csdn.net/Dai_Haijiao/article/details/80364370 2018年05月18日 1 ...