一、导入库
  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表示删除该路径所有版本的节点
 
 

ZooKeeper的使用---Java程序的更多相关文章

  1. Java 程序员们值得一看的好书推荐

    "学习的最好途径就是看书",这是我自己学习并且小有了一定的积累之后的第一体会.个人认为看书有两点好处: 能出版出来的书一定是经过反复的思考.雕琢和审核的,因此从专业性的角度来说,一 ...

  2. Linux环境下部署完JDK后运行一个简单的Java程序

    前言 前一篇文章详细讲解了如何在Windows环境下安装虚拟机+Linux系统,并且成功部署了JDK. 不过部署完JDK之后,我们判断部署是否成功的依据是看"java -version&qu ...

  3. Zookeeper API for JAVA实战与应用

    package com.zookeeper.watcher; import java.util.List; import java.util.concurrent.CountDownLatch; im ...

  4. 给Java程序猿们推荐一些值得一看的好书

    学习的最好途径就是看书 "学习的最好途径就是看书",这是我自己学习并且小有了一定的积累之后的第一体会.个人认为看书有两点好处: 1.能出版出来的书一定是经过反复的思考.雕琢和审核的 ...

  5. Java 程序员们值得一看的好书推荐[转载]

    “学习的最好途径就是看书“,这是我自己学习并且小有了一定的积累之后的第一体会.个人认为看书有两点好处: 能出版出来的书一定是经过反复的思考.雕琢和审核的,因此从专业性的角度来说,一本好书的价值远超其他 ...

  6. Java教程-Java 程序员们值得一看的好书推荐

    学习的最好途径就是看书“,这是我自己学习并且小有了一定的积累之后的第一体会.个人认为看书有两点好处: 能出版出来的书一定是经过反复的思考.雕琢和审核的,因此从专业性的角度来说,一本好书的价值远超其他资 ...

  7. [转] java书籍(给Java程序猿们推荐一些值得一看的好书 + 7本免费的Java电子书和教程 )

    7本免费的Java电子书和教程 1. Thinking in Java (Third Edition) 本书的作者是Bruce Eckel,它一直都是Java最畅销的免费电子书.这本书可以帮助你系统的 ...

  8. JAVA程序员面试30问(附带答案)

    第一,谈谈final, finally, finalize的区别. 最常被问到.final修饰符(关键字)如果一个类被声明为final,意味着它不能再派生出新的子类,不能作为父类被继承.因此一个类不能 ...

  9. 一个3年Java程序员的坎与选择

    前言 LZ 15年本科毕业,不知不觉3年过去了,去年底裸辞回到成都来发展,年后开始找工作,面试了几家公司,现在整理整理做个总结,也方便规划下一个3到5年以及和广大想要进阶的Java程序员同胞们共勉. ...

随机推荐

  1. SpriteBuilder中本地化的局限性

    最后,App中的(图片)logo仍然保留在英语格式. 未来SpriteBuilder将计划支持本地化资源文件,但是写作该篇的时候估计还没有实现. 你现在必须使用正规的iOS app的国际化技术来支持本 ...

  2. workbench的schema讲解一:(维度dimension设置的基本内容)

    维度名字尽量用英文:因为,saiku读取schema配置文件时,用中文会出现不可预知的错误.比如,引用维度用中文,就容易出现不可预估的错误.如果要显示中文:每个对象的caption字段里键入中文,则可 ...

  3. Linux常用命令(第二版) --文件搜索命令

    文件搜索命令 1.which /usr/bin/which #显示系统命令所在目录,绝对目录,不能查找文件 格式:which [系统命令] e.g. which ls 附-whereis:也可以查找到 ...

  4. Java 条形码生成(一维条形码)

    utl:http://mianhuaman.iteye.com/blog/1013945 在这里给大家介绍一个java 生成条形码 jbarcode.jar 生成条形码 支持EAN13, EAN8, ...

  5. android 热修补之andfix实践

    首先有这方面需要的请到https://github.com/xiangzhihong/andfixDemo/tree/master下载例子 对于网上提供的热补丁修复就不多说了,主要有这3种方式可以实现 ...

  6. 如何在服务器上配置ODBC来访问本机DB2 for Windows服务器

    如何在服务器上配置ODBC来访问本机 DB2 for Windows服务器                         马根峰             (广东联合电子服务股份有限公司, 广州 51 ...

  7. css选择器语法速查

    通用选择器 *{} 类似于通配符,匹配文档中所有元素类型: 类型选择器 h1,h2,p{} 匹配以逗号隔开元素列表中的所有元素 类选择器 .glass{} or p.glass{} id选择器 #id ...

  8. Django之跨域请求

    同源策略 首先基于安全的原因,浏览器是存在同源策略这个机制的,同源策略阻止从一个源加载的文档或脚本获取或设置另一个源加载的文档的属性. 而如果我们要跳过这个策略,也就是说非要跨域请求,那么就需要通过J ...

  9. LeetCode - 验证二叉搜索树

    给定一个二叉树,判断其是否是一个有效的二叉搜索树. 一个二叉搜索树具有如下特征: 节点的左子树只包含小于当前节点的数. 节点的右子树只包含大于当前节点的数. 所有左子树和右子树自身必须也是二叉搜索树. ...

  10. R实战 第七篇:绘图文本表

    文本表是显示数据的重要图形,一个文本表按照区域划分为:列标题,行标题,数据区,美学特征有:前景样式.背景央视.字体.网格线等. 一,使用ggtexttable绘图文本表 载入ggpubr包,可以使用g ...