zoukankan      html  css  js  c++  java
  • ZooKeeper的使用---Java程序

    一、导入库
    1. 以下库存放在目录lib中:
    audience-annotations-0.5.0.jar
    jline-0.9.94.jar
    log4j-1.2.17.jar
    netty-3.10.6.Final.jar
    slf4j-api-1.7.25.jar
    slf4j-log4j12-1.7.25.jar
     
    1. 以下库存放在zookeeper安装的根目录中:
    zookeeper-3.4.12.jar
     
    二、ZooKeeper对象的操作
    1. zookeeper对象的创建
    String connectString = "hadoop1:2181,hadoop2:2181,hadoop3:2181”;
    int sessionTimeout = 2000;
     
    ZooKeeper zookeeper = new ZooKeeper(connectString, sessionTimeout, new Watcher() {
    @Override
    public void process(WatchedEvent event) {
    ...
    }
    });
    其中:
    connectString是连接zookeeper的信息
    sessionTimeout是会话超时时间,也就是当一个zookeeper超过该时间没有心跳,则认为该节点故障。
    Watcher是一个监控器,一旦触发监控就会回调process方法,触发的事件会存在event对象中。
     
    1. ZooKeeper对象的常用方法
     
    方法名 返回值 作用 各参数 备注
    String create(final String path, byte data[], List<ACL> acl,CreateMode createMode) 返回值是path的字符串 创建节点
    1. path是创建节点路径
    2. Data是节点中的值
    3. Acl是权限,可以通过Ids类的枚举获取
    4. createMode是创建的类型,有四种,分别为:永久,永久序列化,短暂,短暂序列化。
     
    Stat setData(final String path, byte data[], int version) 节点状态对象,里面包含节点的各种信息,包括节点更改的版本,节点创建的日期等等。 设置节点的数据
    1. path是修改数据的节点路径
    2. data是修改之后的值
    3. version是修改哪个版本的节点,-1表示所有节点
     
    List<String> getChildren(String path, boolean watch) 节点下子节点集合,只有节点名称,不是全路径 获取子节点列表
    1. path是父节点路径。
    2. watch是是否监控子节点变化情况
     
    byte[] getData(String path, boolean watch, Stat stat) 该节点的值 获取该节点的值
    1. path是节点路径
    2. watch是是否监控节点的数据变化
    3. Stat是明确是哪个状态的节点,可以设置为null.
     
    void delete(final String path, int version)   删除节点
    1. path是节点路径
    2. version是节点版本,-1表示删除该路径所有版本的节点
     
     
  • 相关阅读:
    网上购物记录(2011淘宝大甩卖)
    心理学上最诡异的23张图!!
    三字念什么
    哥德尔不完备定理
    又要新的开始了(续)
    第一次接触计算机语言的经历
    哥德尔不完备性定理——从数学危机到哲学危机
    google (精简版)
    贴吧回复
    在轻松的环境中工作
  • 原文地址:https://www.cnblogs.com/xiatianyu/p/9038970.html
Copyright © 2011-2022 走看看