目录
一、介绍
2.1、导入依赖
3.1、导入依赖
3.2、使用示例
一、介绍
这里主要记录通过Java调用API来操作Zookeeper集群的数据,对于zookeeper集群的搭建或者命令,可以参考:
目前接触到的Java操作Zookeeper,有两套API,一套是zookeeper官方提供的(zookeeper),另外一套是封装了官方API的API(zkClient),从描述上来看,就知道,官方的API可能不是那么好用,不然也不会在封装。
二、zookeeper API
2.1、导入依赖
使用zookeeper官方api的时候,请保证jar包的版本,和zk集群中zk的版本相同
org.apache.zookeeper
zookeeper
3.4.7
2.2、连接zk集群
下面是代码示例,两种形式(分别使用匿名类和Lambda表达式):
package cn.ganlixin.zk;
import org.apache.zookeeper.KeeperException;
import org.apache.zookeeper.WatchedEvent;
import org.apache.zookeeper.Watcher;
import org.apache.zookeeper.ZooKeeper;
import org.junit.Test;
import java.io.IOException;
public class ZookeeperDemo {
@Test
public void connectZkCluster() throws IOException, KeeperException, InterruptedException {
// 构造方法
// ZooKeeper(String connectString, int sessionTimeout, Watcher watcher)
// 匿名对象形式
ZooKeeper zooKeeper = new ZooKeeper(
"192.168.1.3:2181,192.168.1.4:2181,192.168.1.5:2181",
20000,
new Watcher() {
@Override
public void process(WatchedEvent watchedEvent) {
// 发生变更的