ZooKeeper系列4:ZooKeeper API简介及编程
|
功能
|
描述
|
|
create
|
在本地目录树中创建一个节点
|
|
delete
|
删除一个节点
|
|
exists
|
测试本地是否存在目标节点
|
|
get/set data
|
从目标节点上读取 / 写数据
|
|
get/set ACL
|
获取 / 设置目标节点访问控制列表信息
|
|
get children
|
检索一个子节点上的列表
|
|
sync
|
等待要被传送的数据
|
- import java.io.IOException;
- import org.apache.zookeeper.CreateMode;
- import org.apache.zookeeper.KeeperException;
- import org.apache.zookeeper.Watcher;
- import org.apache.zookeeper.ZooDefs.Ids;
- import org.apache.zookeeper.ZooKeeper;
- public class demo {
- // 会话超时时间,设置为与系统默认时间一致
- private static final int SESSION_TIMEOUT=30000;
- // 创建 ZooKeeper 实例
- ZooKeeper zk;
- // 创建 Watcher 实例
- Watcher wh=new Watcher(){
- public void process(org.apache.zookeeper.WatchedEvent event)
- {
- System.out.println(event.toString());
- }
- };
- // 初始化 ZooKeeper 实例
- private void createZKInstance() throws IOException
- {
- zk=new ZooKeeper("localhost:2181",demo.SESSION_TIMEOUT,this.wh);
- }
- private void ZKOperations() throws IOException,InterruptedException,KeeperException
- {
- System.out.println("/n1. 创建 ZooKeeper 节点 (znode : zoo2, 数据: myData2 ,权限:OPEN_ACL_UNSAFE ,节点类型: Persistent");
- zk.create("/zoo2","myData2".getBytes(), Ids.OPEN_ACL_UNSAFE, CreateMode.PERSISTENT);
- System.out.println("/n2. 查看是否创建成功: ");
- System.out.println(new String(zk.getData("/zoo2",false,null)));
- System.out.println("/n3. 修改节点数据 ");
- zk.setData("/zoo2", "shenlan211314".getBytes(), -1);
- System.out.println("/n4. 查看是否修改成功: ");
- System.out.println(new String(zk.getData("/zoo2", false, null)));
- System.out.println("/n5. 删除节点 ");
- zk.delete("/zoo2", -1);
- System.out.println("/n6. 查看节点是否被删除: ");
- System.out.println(" 节点状态: ["+zk.exists("/zoo2", false)+"]");
- }
- private void ZKClose() throws InterruptedException
- {
- zk.close();
- }
- public static void main(String[] args) throws IOException,InterruptedException,KeeperException {
- demo dm=new demo();
- dm.createZKInstance( );
- dm.ZKOperations();
- dm.ZKClose();
- }
- }
复制代码
- http://hadoop.apache.org/zookeeper/docs/r3.3.1/api/index.html
ZooKeeper系列4:ZooKeeper API简介及编程的更多相关文章
- Zookeeper系列2 原生API 以及核心特性watcher
原生API 增删改查询 public class ZkBaseTest { static final String CONNECT_ADDR = "192.168.0.120"; ...
- 【Zookeeper系列】Zookeeper命令操作(转)
原文链接:https://www.cnblogs.com/sunddenly/p/4031881.html 一.Zookeeper的四字命令 Zookeeper支持某些特定的四字命令字母与其的交互.他 ...
- zookeeper系列之六—zookeeper之应用
http://www.cnblogs.com/sharpxiajun/archive/2013/06/02/3113923.html Zookeeper是hadoop的一个子项目,虽然源自hadoop ...
- 【Zookeeper系列】ZooKeeper机制架构(转)
原文链接:https://www.cnblogs.com/sunddenly/p/4133784.html 一.ZooKeeper权限管理机制 1.1 权限管理ACL(Access Control L ...
- 【Zookeeper系列】ZooKeeper管理分布式环境中的数据(转)
原文地址:https://www.cnblogs.com/sunddenly/p/4092654.html 引言 本节本来是要介绍ZooKeeper的实现原理,但是ZooKeeper的原理比较复杂,它 ...
- 【Zookeeper系列】zookeeper面试题(转)
原文链接:https://segmentfault.com/a/1190000014479433 1.ZooKeeper是什么? ZooKeeper是一个分布式的,开放源码的分布式应用程序协调服务,是 ...
- 【Zookeeper系列】ZooKeeper一致性原理(转)
原文链接:https://www.cnblogs.com/sunddenly/p/4138580.html 一.ZooKeeper 的实现 1.1 ZooKeeper处理单点故障 我们知道可以通过Zo ...
- 【Zookeeper系列】ZooKeeper安装配置(转)
原文链接:https://www.cnblogs.com/sunddenly/p/4018459.html 一.Zookeeper的搭建方式 Zookeeper安装方式有三种,单机模式和集群模式以及伪 ...
- 【Zookeeper系列】Zookeeper简单介绍(转)
原文链接:https://www.cnblogs.com/sunddenly/p/4033574.html 一.分布式协调技术 在给大家介绍ZooKeeper之前先来给大家介绍一种技术——分布式协调技 ...
随机推荐
- JS+JQ手风琴效果
最新在学习JS写一些实用的小玩意——手风琴 CSS样式: <style type="text/css"> * { margin: 0px; border: 0px; p ...
- SqlServer一张表数据导入另一张表,收藏使用,工作中更新数据错误很有用
sql一张表数据导入另一张表 1.如果2张表的字段一致,并且希望插入全部数据,可以用这种方法: INSERT INTO 目标表 SELECT * FROM 来源表; 2.比如要将 arti ...
- uml中的几种关系
这是一堂关于UML基础知识的补习课:现在我们做项目时间都太紧了,基本上都没有做过真正的class级别的详细设计,更别提使用UML来实现规范建模了:本篇主要就以前自己一直感觉很迷糊的几种class之间的 ...
- Little Jumper---(三分)
Description Little frog Georgie likes to jump. Recently he have discovered the new playground that s ...
- PHP imagecopyresampled 参数图示
- Autofac全面解析系列(版本:3.5) – [使用篇(推荐篇):2.解析获取]
前言 Autofac是一套高效的依赖注入框架. Autofac官方网站:http://autofac.org/ Autofac在Github上的开源项目:https://github.com/auto ...
- ajax跨子域请求的两种现代方法
因为面向互联网的性质,我们公司的大部分系统都采用多子域的方式进行开发和部署,以达到松耦合和分布式的目的,因此子系统间的交互不可避免.虽然通过后台的rpc框架解决了大部分的交互问题,但有些情况下,前端直 ...
- HTTP路由
HTTP路由 HTTP路由(译者注:Play的路径映射机制)组件负责将HTTP请求交给对应的action(一个控制器Controller的公共静态方法)处理. 对于MVC框架来说,一个HTTP请求可以 ...
- CSS文本溢出显示省略号
项目中常常有这种需要我们对溢出文本进行"..."显示的操作,单行多行的情况都有(具体几行得看设计师心情了),这篇随笔是我个人对这种情况解决办法的归纳,欢迎各路英雄指教. 单行 语法 ...
- bash shell命令(2)
在上篇<bash shell命令(1)>中,介绍了几种简单的linux shell命令,今天继续介绍bash shell命令 本文地址:http://www.cnblogs.com/arc ...