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之前先来给大家介绍一种技术——分布式协调技 ...
随机推荐
- [水]用vb写了个PCB
这学期我们学操作系统,所以得写个PCB. 于是我借鉴了一下windows的PCB,写了这个 Imports System.Runtime.InteropServices ''' <summary ...
- csharp: InvokeHelper
Entity Framework https://entityframework.codeplex.com/ Enterprise Library https://entlib.codeplex.co ...
- SignalR+Asp.net高频率实时消息传递应用
1.概述: 使用 ASP.NET 和SignalR 2高频率的实时消息功能.高频率消息在这种情况下就意味着更新发送以固定的速率; 本教程中创建的应用程序显示一个用户可以拖动的形状.在所有其他连接浏览器 ...
- mvc设计模式和mvc框架的区别
Spring中的新名称也太多了吧!IOC/DI/MVC/AOP/DAO/ORM... 对于刚刚接触spring的我来说确实晕了头!可是一但你完全掌握了一个概念,那么它就会死心塌地的为你服务了.这可比女 ...
- python 学习之电脑的发展历史
电脑的发展历史 电脑的学名叫计算机,电脑是用来做计算的.在古时候,人们最早使用的计算工具可能是手指,英文单词“digit”既有“数字”的意思,又有“手指“的意思.古人用石头打猎,所以还有可能是石头来辅 ...
- linux环形buff模拟多线程信号量操作
互斥锁mutex变量的值非0即1,只能用来表示两种状态下的临界资源.而信号量是与之类似的,用来表示可用资源的,区别在于,信号量可以表示多个可用资源的. --值为2的信号量也就是特殊的互斥锁了. 那么下 ...
- 数码管问题(c++实现)
描述:液晶数码管用七笔阿拉数字表示的十个数字,把横和竖的一 个短划都称为一笔,即7有3笔,8有7笔等.对于十个数字一种排列,要做到 两相邻数字都可以由另一个数字加上几笔或减去几笔组成,但不能又加又减. ...
- SharePoint 中关于event receivers的讨论
今天一早,跟几个小伙伴在群里讨论了有关事件触发器的东西,感觉收获颇多,拿出来和大家分享.讨论的内容,主要就是关于事件触发器的同步/异步的设置以及作用. 其实接触SharePoint颇久,对于事件触发器 ...
- android内存泄露调试,Heap,MAT
三.内存监测工具 DDMS --> Heap 无论怎么小心,想完全避免bad code是不可能的,此时就需要一些工具来帮助我们检查代码中是否存在会造成内存泄漏的地方.Android tools中 ...
- C语言原子接口与实现
原子是一个指向唯一的.不可变的0个或任意多个字节序列的指针,大多数原子都是指向以空字符结束的字符串,但是任何一个指向任意字节序列的指针都可以使原子.任何原子只能出现一次.如果两个原子指向同一个内存单元 ...