搭建环境
- 1、安装JDK,本文档使用JDK1.8版本,请根据操作系统环境下载对应的JDK版本,安装完成后,需要配置环境变量,将JDK的bin目录添加到系统环境变量中。
- 2、下载ZooKeeper Java客户端,本文档使用的是zookeeper-3.4.13版本,可以从官网下载,下载完成后,解压到指定目录。
- 3、将ZooKeeper Java客户端的jar包添加到项目的build path中,以便在编码时能够引用ZooKeeper Java客户端的类库。
客户端连接服务器
使用ZooKeeper Java客户端连接服务器,需要使用到ZooKeeper的客户端类库,其中核心类是ZooKeeper类,使用它可以实现客户端连接服务器的功能,具体使用方法如下:
// 创建一个ZooKeeper实例,第一个参数为目标服务器地址和端口,第二个参数为Session超时时间,第三个为节点变化时的Watcher ZooKeeper zk = new ZooKeeper("127.0.0.1:2181", 5000, null);
在上面的代码中,第一个参数是服务器的地址和端口,第二个参数是Session超时时间,第三个参数是节点变化时的Watcher,它可以监听节点变化,当节点发生变化时,会触发Watcher的process方法。
客户端操作服务器
客户端连接服务器后,就可以对服务器上的数据进行操作了,ZooKeeper Java客户端提供了一系列的API,可以实现对服务器上的数据的增删改查等操作,下面以创建节点为例,来看一下如何使用API:
// 创建一个节点root,数据是mydata,不进行ACL权限控制,节点为永久性的(即客户端shutdown了也不会消失) zk.create("/root", "mydata".getBytes(), Ids.OPEN_ACL_UNSAFE, CreateMode.PERSISTENT);
在上面的代码中,第一个参数是节点的路径,第二个参数是节点的数据,第三个参数是ACL权限控制,第四个参数是节点的类型,CreateMode枚举类型提供了几种节点类型,如临时节点、永久节点等等。
关闭客户端连接
当客户端完成所有操作后,可以通过以下代码关闭与服务器的连接:
zk.close();
关闭客户端连接后,客户端就不能再操作服务器上的数据了,如果需要再次操作,需要重新连接服务器。