zookeeper系列(四)—客户端API使用

zookeeper系列(四)—客户端API使用

前言

大家好,牧码心今天给大家推荐一篇zookeeper系列(四)—客户端API使用的文章,在实际工作中有很多应用场景,希望对你有所帮助。内容如下:

  • 概要
  • 创建和关闭会话
  • 创建和查看节点
  • 修改和删除节点
  • 设置权限
  • curator框架

概要

zookeeper提供了zkCli.sh脚本,通过命令交互方式调试zk集群,但在项目开发中不推荐使用。zookeeper官方提供了java和C中语言的客户端,实际开发时我们一般会使用相应的zookeeper API,或者使用封装更高级的框架库 Curator。
本文java客户端为例来实现创建会话,创建节点,监听节点,删除节点,获取数据,设置权限,关闭会话等功能。

依赖

在使用zookeeper API之前,我们需要引入相关API的依赖,依赖方式如下,这里以maven为例:

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

这里选择的版本是3.5.5,更多版本选择,详见:https://mvnrepository.com/artifact/org.apache.zookeeper/zookeeper

创建和关闭会话

  • 创建会话
    启动zookeeper服务端后,客户端可通过构造函数 ZooKeeper()创建会话,实例化后将会自动与集群建立连接。函数定义如下:
ZooKeeper(String connectionString, int sessionTimeout, Watcher watcher)

函数参数说明如下:

参数名称 类型 说明
connectString String 连接串,包括ip+端口 ,集群模式下用逗号隔开 hadoop01:2181,hadoop02:2181,hadoop03:2181
sessionTimeout int 会话超时时间,该值不能超过服务端所设置的 minSessionTimeout 和maxSessionTimeout
watcher Watcher 会话监听器,服务端事件将会触该监听

示例代码:

private ZooKeeper zooKeeper;
final CountDownLatch connectedSignal = new CountDownLatch(1);
public ZooKeeper connect(String host) throws IOException,InterruptedException {
   
   
      zooKeeper= new ZooKeeper(host,5000,new Watcher() {
   
   
      // 定义监听事件
         public void process(WatchedEvent we) {
   
   
            if (we.getState() == KeeperState.SyncConnected) {
   
   
               connectedSignal.countDown();
            }
         }
      });
      connectedSignal.await();
      return zooKeeper;
   
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值