zoukankan      html  css  js  c++  java
  • zookeeper 客户端操作

    代码

     1 /**
     2  * 创建zk客户端
     3  * 实现循环监听的两个必要条件:1.程序不能结束2.递归调用监听器
     4  * @author tele
     5  *
     6  */
     7 public class Demo {
     8     private int sessionTimeout = 2000;
     9     //多个节点用逗号隔开
    10     private String connectString="hadoop002:2181,hadoop003:2181";
    11     private ZooKeeper zkClient;
    12     
    13     /**
    14      * 初始化
    15      * @throws IOException
    16      */
    17     @Before
    18     public void init() throws IOException {
    19         zkClient = new ZooKeeper(connectString, sessionTimeout,new Watcher(){
    20             @Override
    21             public void process(WatchedEvent event) {
    22                 try {
    23                     //实现循环监听
    24                     List<String> list = zkClient.getChildren("/",true);
    25                 } catch (KeeperException e) {
    26                     e.printStackTrace();
    27                 } catch (InterruptedException e) {
    28                     e.printStackTrace();
    29                 }
    30                 System.out.println(event.getType() + "	" + "path:" + event.getPath());
    31                 
    32             }
    33         });
    34     }
    35     
    36     
    37     /**
    38      * 创建节点
    39      * @throws InterruptedException 
    40      * @throws KeeperException 
    41      */
    42     @Test
    43     public void createNode() throws KeeperException, InterruptedException {
    44         String nodeName = zkClient.create("/wycrencaiss","ok".getBytes(),Ids.OPEN_ACL_UNSAFE,CreateMode.PERSISTENT_SEQUENTIAL);
    45         System.out.println("创建的节点名称是-----" + nodeName);
    46     }
    47     
    48     
    49     
    50     /**
    51      * 获取节点
    52      * @throws InterruptedException 
    53      * @throws KeeperException 
    54      */
    55     @Test
    56     public void getNode() throws KeeperException, InterruptedException {
    57         List<String> list = zkClient.getChildren("/",true);
    58         for (String string : list) {
    59             System.out.println(string);
    60         }
    61         
    62         Thread.sleep(Long.MAX_VALUE);
    63     }
    64     
    65     
    66     /**
    67      * 判断节点是否存在
    68      * @throws InterruptedException 
    69      * @throws KeeperException 
    70      */
    71     @Test
    72     public void isExist() throws KeeperException, InterruptedException {
    73         
    74         Stat stat = zkClient.exists("/wyc",true);
    75         System.out.println(stat==null?"not exist":"exist");
    76         Thread.sleep(Long.MAX_VALUE);
    77     }
    78 }

    maven

     1 <dependency>
     2       <groupId>org.apache.zookeeper</groupId>
     3       <artifactId>zookeeper</artifactId>
     4       <version>3.4.10</version>
     5 </dependency>
     6 <dependency>
     7       <groupId>junit</groupId>
     8       <artifactId>junit</artifactId>
     9       <version>4.11</version>
    10       <scope>test</scope>
    11 </dependency>
  • 相关阅读:
    叙旧
    注册表的基本操作(.Net)
    如何自己实现 JavaScript 的 new 操作符?
    装饰者模式和TypeScript装饰器
    彻底弄懂GMT、UTC、时区和夏令时
    Javascript 中 cookie 操作方式
    javascript实例教程:使用canvas技术模仿echarts柱状图
    实现memcached客户端:TCP、连接池、一致性哈希、自定义协议
    Linux终端快速检测网站是否宕机的6个方法
    爬虫是什么吗?你知道爬虫的爬取流程吗?
  • 原文地址:https://www.cnblogs.com/tele-share/p/9794036.html
Copyright © 2011-2022 走看看