在上一篇中,我们讲解了ZooKeeper的相关操作命令,链接为 ZooKeeper完全解析(二) zooKeeper命令详解,这一篇中,我们将会详细的讲解如何使用Java操作ZooKeeper。
一、引入依赖与建立连接:
注意ZooKeeper连接池的版本最好与使用的ZooKeeper版本一致,比如使用的ZooKeeper版本为 3.4.13,那么引入的连接池依赖即为:
<dependency>
<groupId>org.apache.zookeeper</groupId>
<artifactId>zookeeper</artifactId>
<version>3.4.13</version>
</dependency>
建立连接的方法即为:
ZooKeeper zooKeeper = new ZooKeeper(ZooKeeperAdress, sessionTimeOut, Watcher());
其中:
1、ZooKeeperAdress 为zooKeeper的地址,比如 127.0.0.1:2181
2、sessionTimeOut 即为ZooKeeper等待客户端通信的最长时间,注意是ZooKeeper等待客户端,而不是客户端等待ZooKeeper,此为毫秒为单位,比如我设置此值为 10000,那么如果ZooKeeper与客户端在10秒内无法通信的话,ZooKeeper就会断开此次连接。但是如果调用zooKeeper.close()显示的关闭连接,就会立即关闭,不会等超时时间。
3、Watcher即为一个回调接口,当发生一些事件,比如连接成功,连接失败等情况,会回调此接口。
二、create(创建节点):
在zooKeeper的命令中,create为:
create [-s] [-e] [path] [value] [acl]
其中,-s为是否自动顺序创建,-e为是否为临时节点(即若创建者断连,则自动删除)。对应Java里面的方法为:
String slaveNodeNameActulPath = zooKeeper.create("/slave/slave", "".getBytes(), OPEN_ACL_UNSAFE, CreateMode.EPHEMERAL_SEQUENTIAL);

2105

被折叠的 条评论
为什么被折叠?



