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之前先来给大家介绍一种技术——分布式协调技 ...
随机推荐
- WPF 程序自删除(自毁)|卸载程序删除
一般是在MainWindow_Closed 事件中调用批处理命令删除. 在借鉴别人的想法的基础上的算是改进. 自删除步骤: 1.删除文件 2.删除存放文件夹. 实现代码: private static ...
- 重大发现Discuz DB层跨库映射关系表名前缀BUG
本文更新:http://www.cnblogs.com/x3d/p/3916198.html 场景: 在Discuz中创建Table模型,但该Table所在库与Discuz不在同一个库. Discuz ...
- MAC OS设置JDK小结
开始折腾mac pro,在网上找了些资料,自己也尝试了一下,特在这里做个小结. mac中JDK的位置 OSX默认的JDK /System/Library/Frameworks/JavaVM.frame ...
- 二、SQL语句映射文件(1)resultMap
//备注:该博客引自:http://limingnihao.iteye.com/blog/106076 SQL 映射XML 文件是所有sql语句放置的地方.需要定义一个workspace,一般定义为对 ...
- ahjesus C# Flags 位域略说
class Program { [Flags] public enum Week { [Description("星期一")] Monday = << , [Descr ...
- SharePoint 2013 JQuery Asset Picket
var b = new AssetPickerConfig(""); b.ClientID = ""; b.DefaultAssetLocation = & ...
- Installation failed with message INSTALL_FAILED_UID_CHANGED.--APK安装失败解决方法
出现此错误原因大都为:手机上原来APK存在残留,即没有卸载干净,导致不能安装新的APK 解决办法: 1.手机上手动卸载出现问题的APP,再重新安装 2.如果apk无法卸载,则将apk相关文件和相关内容 ...
- 浅谈PopupWindow弹出菜单
实现将一个View显示在某一位置,而且是浮于当前窗口 首先要有一个要显示的view的布局,可以是任意View,包括ViewGroup <?xml version="1.0" ...
- IOS开发-表单控件的应用
1. 需求描述 2. 开发环境介绍 3. 创建一个工程 4. 工程配置介绍 5. 目录结构介绍 6. 界面设置 7. 关联输入输出 8. 关联事件代码 9. 运行结果 10. UITextField ...
- Objective-C的可变是如何实现的?
Objective-C的可变是怎么实现的?