实现节点的增删
- 打开 Eclipse开发工具,单击File选择“New”→“ Java project”,新建名称
- 为“zookeeper”的Java项目,单击右键“zookeeper项目,选择“New”→“ Package”。
- 输入包名称“ cn.dzqc.zk"
- 新建java类,选中包名并单击右键,选择“New”→“Class”
- 在name项输入“ZookeeperDemo"类名称
- 在创建的项目目录下创建文件夹lib,通过选中文件夹“src”并点击右键,选择“New”→“SourceFolder”,在“Folder
name”项输入lib - 在lib文件夹下的添加7个jar包。分别是zookeeper-3.4.12.jar,audience-annotations-0.5.0.jar,jline-0.9.94.jar,netty-3.10.6.Final.jar,log4j-1.2.17.jar,slf4j-api-1.7.25.jar,slf4j-log4j12-1.7.25.jar。zookeeper-3.4.12.jar文件在zookeeper-3.4.12.tar.gz解压缩的根目录下,其余6个jar文件在lib文件夹下。
- 选中lib下的所有jar包,单击右键,然后选择“ Add to Build Path”即可把所有jar包添加到path环境中
编写代码
import org.apache.zookeeper.CreateMode;
import org.apache.zookeeper.ZooDefs.Ids;
import org.apache.zookeeper.ZooKeeper;
public class ZookeeperDemo {
public static void main(String[] args) throws Exception{
//创建连接,指定Zookeeper集群节点,连接超时时间,服务是否监控
ZooKeeper zk = new ZooKeeper("192.168.86.150:2181,192.168.86.160:2181,191.169.86.170:2181", 3000, null);
System.out.println("=========创建节点===========");
// zk.exists() 判断节点是否存在
if(zk.exists("/test", false) == null) {
//Ids.OPEN_ACL_UNSAFE 标识节点开启接入权限
//CreateMode.PERSISTENT 持久化目录节点
zk.create("/test", "znode1".getBytes(), Ids.OPEN_ACL_UNSAFE, CreateMode.PERSISTENT);
}
System.out.println("==========查看节点是否安装成功============");
System.out.println(new String(zk.getData("/test", false, null)));
System.out.println("=========修改节点的数据==========");
zk.setData("/test", "zNode2".getBytes(), -1);
System.out.println("========查看修改的节点是否成功=========");
System.out.println(new String(zk.getData("/test", false, null)));
System.out.println("=======删除节点==========");
zk.delete("/test", -1);
System.out.println("==========查看节点是否被删除============");
System.out.println("节点状态:" + zk.exists("/test", false));
zk.close();
}
}
启动集群
运行项目
