0、准备环境
这个是集群的方式,启动需要的三台服务器,开启zookeeper服务端和客户端
1、导入坐标
<dependency>
<groupId>org.apache.zookeeper</groupId>
<artifactId>zookeeper</artifactId>
<version>3.4.10</version>
<!--<type>pom</type>-->
</dependency>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.12</version>
<scope>test</scope>
</dependency>
<dependency>
<groupId>commons-io</groupId>
<artifactId>commons-io</artifactId>
<version>2.4</version>
</dependency>
2、创建测试类,写入URL(服务器地址)
这里是三台服务器,是集群的方式,集群的方式看zookeeper的安装
String url = "192.168.64.128:2181,192.168.64.129:2181,192.168.64.130:2181";
3、创建init方法
ZooKeeper zk;
@Before
public void init() throws IOException {
zk = new ZooKeeper(url, 5000, new Watcher() {
public void process(WatchedEvent watchedEvent) {
String path = watchedEvent.getPath();
Event.KeeperState state = watchedEvent.getState();
Event.EventType type = watchedEvent.getType();
System.out.println("路径:"+path+" 状态:"+state+" 事件类型:"+type);
if ("/txpath/txjavaee".equals(path) && type.equals(Event.EventType.NodeDataChanged)){
try {
zk.getData("/txpath/txjavaee",true,null);
} catch (KeeperException e) {
e.printStackTrace();
} catch (InterruptedException e) {
e.printStackTrace();
}
}
}
});
}
4、创建节点
/**
* 创建节点
*/
@Test
public void createNode() throws KeeperException, InterruptedException {
/*已经存在的节点不能重复创建,不然会报错*/
zk.create("/td/td1","2022/7/7".getBytes(), ZooDefs.Ids.OPEN_ACL_UNSAFE, CreateMode.PERSISTENT);
zk.create("/td/td2","2020/7/7".getBytes(), ZooDefs.Ids.OPEN_ACL_UNSAFE, CreateMode.PERSISTENT);
}
执行方法
5、删除节点
/**
* 删除节点
*/
@Test
public void delNode() throws KeeperException, InterruptedException {
zk.delete("/txpath/td1",-1);
}
6、更新节点
/**
* 更新节点信息
*/
@Test
public void setNode() throws KeeperException, InterruptedException {
zk.setData("/txpath/txjavaee","今天学了zookeeper".getBytes(),-1);
}
7、获取节点
/**
* 获取节点
*/
@Test
public void getNode() throws KeeperException, InterruptedException {
byte[] data = zk.getData("/txpath/txjavaee", true, null);
setNode();
setNode();
setNode();
System.out.println(new String(data));
}
结束!!!!
正确的行动加上勇气决心和毅力,就会获得理想的一切。