Zookeeper
zookeeper 提供了java与C两种语言的客户端。在此学习的就是java客户端。
引入最新的maven依赖:
<dependency>
<groupId>org.apache.zookeeper</groupId>
<artifactId>zookeeper</artifactId>
<version>3.5.5</version>
</dependency>
知识点:
- 初始连接
- 创建、查看节点
- 监听节点
- 设置节点权限
- 第三方客户端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 |

本文介绍了Zookeeper的Java客户端API,包括初始连接、创建与查看节点、监听节点变化、设置节点ACL权限以及使用第三方ZkClient。在实践中,配置了日志文件,并解决了连接Zookeeper时遇到的身份验证错误问题。
最低0.47元/天 解锁文章
1486

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



