Zookeeper java客户端API常规应用

本文介绍了Zookeeper的Java客户端API,包括初始连接、创建与查看节点、监听节点变化、设置节点ACL权限以及使用第三方ZkClient。在实践中,配置了日志文件,并解决了连接Zookeeper时遇到的身份验证错误问题。
摘要由CSDN通过智能技术生成

Zookeeper

zookeeper 提供了java与C两种语言的客户端。在此学习的就是java客户端。

引入最新的maven依赖:

<dependency>
            <groupId>org.apache.zookeeper</groupId>
            <artifactId>zookeeper</artifactId>
            <version>3.5.5</version>
</dependency>

知识点:

  1. 初始连接
  2. 创建、查看节点
  3. 监听节点
  4. 设置节点权限
  5. 第三方客户端ZkClient

1.初始连接

常规的客户端类是 org.apache.zookeeper.ZooKeeper,实例化该类之后将会自动与集群建立连接。构造参数说明如下:

参数名称 类型 说明
connectString String 连接串,包括ip+端口 ,集群模式下用逗号隔开 192.168.0.149:2181,192.168.0.150:2181
sessionTimeout **int ** 会话超时时间,该值不能超过服务端所设置的 minSessionTimeout 和maxSessionTimeout
watcher Watcher 会话监听器,服务端事件将会触该监听
sessionId **long ** 自定义会话ID
sessionPasswd byte[] 会话密码
canBeReadOnly **boolean ** 该连接是否为只读的
hostProvider HostProvider 服务端地址提供者,指示客户端如何选择某个服务来调用,默认采用StaticHostProvider实现

2.创建、查看节点

创建节点
通过org.apache.zookeeper.ZooKeeper#create()即可创建节点,其参数说明如下:

参数名称 类型 说明
path String
data byte[]
acl List
createMode CreateMode
cb StringCallback
ctx Object

查看节点:
通过org.apache.zookeeper.ZooKeeper#getData()即可创建节点,其参数说明如下:

参数名称 类型 说明
path String
watch **boolean **
watcher Watcher
cb DataCallback
ctx Object

查看子节点:
通过org.apache.zookeeper.ZooKeeper#getChildren()即可获取子节点,其参数说明如下:

参数名称 类型 说明
path String
watch **boolean **
watcher Watcher
cb Children2Callback
ctx Object

3.监听节点

在getData() 与getChildren()两个方法中可分别设置监听数据变化和子节点变化。通过设置watch为true,当前事件触发时会调用zookeeper()构建函数中Watcher.process()方法。也可以添加watcher参数来实现自定义监听。一般采用后者。
注:所有的监听都是一次性的,如果要持续监听需要触发后在添加一次监听。

4.设置节点ACL权限

ACL包括结构为scheme?permission(有关ACL

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值