zookeeper 客户端操作
代码
/**
* 创建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>
zookeeper 客户端操作的更多相关文章
- zookeeper客户端操作
ZooKeeper客户端 zkCli.sh 节点的增删改查 在 bin 目录下的 zkCli.sh 就是ZooKeeper客户端 ./zkCli.sh -timeout 5000 -server ...
- zookeeper客户端使用第三方(Curator)封装的Api操作节点
1.为什么使用Curator? Curator本身是Netflix公司开源的zookeeper客户端: Curator 提供了各种应用场景的实现封装: curator-framework 提供了f ...
- 【分布式】Zookeeper客户端
一.前言 前篇博客分析了Zookeeper的序列化和通信协议,接着继续学习客户端,客户端是开发人员使用Zookeeper最主要的途径,很有必要弄懂客户端是如何与服务端通信的. 二.客户端 2.1 客户 ...
- ZooKeeper学习第三期---Zookeeper命令操作
一.Zookeeper的四字命令 Zookeeper支持某些特定的四字命令字母与其的交互.他们大多数是查询命令,用来获取Zookeeper服务的当前状态及相关信息.用户在客户端可以通过telnet或n ...
- zookeeper 客户端编程
zookeeper是一个分布式的开源的分布式协调服务,用它可以来现同步服务,配置维护.zookeeper的稳定性也是可以保证的,笔者曾参与过的使用zookeeper的两个应用,一个是用zookeepe ...
- zookeeper客户端 zkCli使用及常用命令
上篇(http://www.cnblogs.com/yangzhenlong/p/8270835.html)zk伪集群搭建好后,使用zkCli连接zk服务 切换到zk1/bin 目录,执行zkCli. ...
- Zookeeper客户端Curator基本API
在使用zookeper的时候一般不使用原生的API,Curator,解决了很多Zookeeper客户端非常底层的细节开发工作,包括连接重连.反复注册Watcher和NodeExistsExceptio ...
- Zookeeper客户端Curator的使用,简单高效
Curator是Netflix公司开源的一个Zookeeper客户端,与Zookeeper提供的原生客户端相比,Curator的抽象层次更高,简化了Zookeeper客户端的开发量. 1.引入依赖: ...
- Zookeeper客户端介绍
客户端是开发人员使用Zookeeper的主要的途径,以下内容将对Zookeeper的内部原理进行详细的学习和讲解.ZooKeeper的客户端主要有一下几个核心组件组成: Zookeeper:提供客户端 ...
随机推荐
- 通过wmi获取本地硬件信息的一些疑问。
通过wmi获取本地硬件信息的一些疑问. http://bbs.csdn.net/topics/391017789 http://blog.csdn.net/xcntime/article/detail ...
- SQl 事务增加数据
连SQl简单地事务处理多表的情况 begin transaction declare @error int declare @QID int set @error = 0 insert into HW ...
- C#添加水印
using System; using System.Data; using System.Configuration; using System.Web; using System.Web.Secu ...
- [array] leetCode-15. 3Sum-Medium
leetCode-15. 3Sum-Medium descrition Given an array S of n integers, are there elements a, b, c in S ...
- Android系统开发(7)——标准I/O与文件锁
一.常用函数 fopen: FILE *fopen(const char *filename, const char *mode); fread: size_t fread(void *ptz, s ...
- [Tools] Fix Only Committed Files with Prettier and lint-staged
In this lesson we'll use prettier and lint-staged to run prettier only on files that have been chang ...
- CSS vertical-align属性的使用方法
这两天写个页面css的时候用到了vertical-align属性.使用过程中踩到了坑,所以总结例如以下: vertical-align的定义 W3C上对vertical-align的定义:vertic ...
- swift学习第十四天:属性监听器
监听属性的改变 在OC中我们可以重写set方法来监听属性的改变 Swift中可以通过属性观察者来监听和响应属性值的变化 通常是监听存储属性和类属性的改变.(对于计算属性,我们不需要定义属性观察者,因为 ...
- C#的Timer(很多相关文章)
再C#里现在有3个Timer类: System.Windows.Forms.Timer System.Threading.Timer System.Timers.Timer 这三个Timer我想大家对 ...
- Vue.js如何划分组件
常见的一些页面,大家坐在一起敲代码就可以了,做完这个页面再做别的页面,但是作为一个功能复杂的系统,尤其是使用一些适合模块化开发的框架,这样会显得效率很低,那么我们就单纯的看在Vue里面如何划分组件的. ...