Zookeeper API中包如下:
org.apache.zookeeper
org.apache.zookeeper.data
org.apache.zookeeper.server
org.apache.zookeeper.server.quorum
org.apache.zookeeper.server.upgrade
其中开发者比较常用的包都集中在前两个包中
关于ZooKeeper的安装省略,请参加之前的文章。
下面我们开始用api操作ZooKeeper tree
首先,我们应该新建一个Zookeeper实例:(注意节点创建的时候path命名需要注意,有相关规则的)
- ZooKeeper zk = new ZooKeeper("ip:port",3000,new MyWathcer());
Ip和port替换为你Zookeeper service的ip及服务端口。注意一下第三个参数,它是一个watcher,实现了org.apache.zookeeper.Watcher接口(实现它的process方法即可),对于节点的更新删除等操作会通知客户端,这部分可以参考watches的说明。
接下来,我们新建一个节点:
- Id id = new Id("ip","你的zookeeper server的ip");
- ACL acl1 = new ACL(ZooDefs.Perms.ALL,id);
- List<ACL> list = new ArrayList<ACL>();
- list.add(acl1);
- System.out.println(zk.create("/zk_heih","yun".getBytes(),list, CreateMode.PERSISTENT));
Id类实际上是指你要的访问控制列表ACL应用的目标,而ACL代表应用到该节点的操作权限,最后的CreateMode.PERSISTENT代表你的创建节点的类型,是持久的还是瞬时的。最后方法会返回该节点的path。(如果想建立节点为某节点的子节点,那么写完整path即可,如 /zk_test/zk_ heih)
下面,我们修改节点数据(data)
- int version = zk.exists("/zk_ heih ", new MyWathcer()).getVersion();
- System.out.println(zk.setData("/zk_ heih ", "my".getBytes(), version));
请注意version,znode在修改时会比较version和服务器上的是否一致,如果不一致的话会抛出异常,当然你也可以将version参数至为-1.那么会匹配所有version,也就是说强制的修改。
然后我们可以查看某节点的数据
- Stat stat = new Stat();
- byte[] data = zk.getData("/zk_ heih ", new MyWathcer(), stat);
- System.out.println(new String(data));
- System.out.println(stat);
方法会给出相关的stat,stat里面包含了如czid等等,具体参照api
最后我们删除刚才创建的节点:
- int version = zk.exists("/zk_ heih ", new MyWathcer()).getVersion();
- zk.delete("/zk_ heih ", version);
最后,如果你英语够好,还是看官方的文档吧:
《ZooKeeper Programmer's Guide》
http://hadoop.apache.org/zookeeper/docs/r3.3.0/zookeeperProgrammers.html
分享到:
相关推荐
ZooKeeper简介和概念知识 ZooKeeper是分布式协调服务,用于管理大型主机。在分布式环境中协调和管理服务是一个复杂的过程。ZooKeeper通过其简单的架构和API解决了这个问题。ZooKeeper允许开发人员专注于核心应用...
ZooKeeper是一个开源的分布式协调服务,它是为了解决分布式应用中的诸多问题而设计的,比如同步、配置管理、命名空间、分布式锁、集群管理等。ZooKeeper的设计目标是简单、健壮和良好的性能。它通过一个共享的配置...
**Zookeeper简介(3)共2页.pdf** Apache ZooKeeper是一个分布式的,开放源码的分布式应用程序协调服务,它是集群的管理者,监视着集群中各个节点的状态根据节点提交的反馈进行下一步合理操作。最终将简单易用的接口...
**Zookeeper简介** Zookeeper是Apache软件基金会的一个开源项目,它是分布式应用程序协调服务的基石,设计用于处理大量的分布式系统的同步问题。Zookeeper提供了一个高可用、高性能、简单易用的分布式协调服务,...
### Zookeeper简介 #### 1. Zookeeper概述 Zookeeper是一种专门为分布式应用提供协调服务的解决方案。随着现代软件系统的不断发展,越来越多的应用程序被部署在由多台服务器组成的集群上。这些应用程序之间的通信...
Zookeeper简介及核心概念
1 ZooKeeper 简介.md
**Zookeeper 简介与搭建** Zookeeper 是一个分布式协调服务,由雅虎和 Apache 软件基金会共同开发,是 Hadoop 生态系统中的重要组成部分。它提供了一种集中式的服务,用于命名、配置管理、分布式同步、组服务等,常...
Zookeeper是Apache软件基金会的一个开源项目,它是一个分布式的,开放源码的分布式应用程序协调服务。这个服务提供了可靠的分布式协调机制,使得分布式系统的开发变得更加简单。Zookeeper的主要目标是简化分布式环境...
zookeeper的介绍和安装步骤,可供初学者了解zookeeper,还有安装步骤
ZooKeeper系列之一:ZooKeeper简介 ZooKeeper是一个为分布式应用所设计的分布的、开源的协调服务。分布式的应用可以建立在同步、配置管理、分组和命名等服务的更高级别的实现的基础之上。 ZooKeeper意欲设计一个易于...
一、Zookeeper简介 Zookeeper源于雅虎的研究项目,后来成为Apache Hadoop的一部分。它的设计目标是为分布式应用提供简单、高效和高度可用的服务,包括命名服务、配置管理、组服务、分布式同步和领导选举等。...
##### Zookeeper简介 Zookeeper是一款开源的分布式协调服务组件,属于Apache顶级项目之一。它主要用于简化分布式应用程序的开发过程,为开发者提供了高效且可靠的分布式协调机制。 在实际应用场景中,Zookeeper经常...
#### 一、Zookeeper简介 Zookeeper 是一个分布式的协调服务框架,它提供了一种高效、可靠的机制来维护集群中的分布式进程之间的协调工作,比如命名服务、配置管理、集群同步等。在分布式系统中,Zookeeper 被广泛...
一、Zookeeper简介 Zookeeper的设计理念源于Chubby,主要解决分布式环境中的数据一致性问题。它采用树状结构存储数据,每个节点都可以存储数据并提供服务。Zookeeper的主要角色包括:客户端、服务器节点(ZNode)和...
### Zookeeper简介 Zookeeper是Apache软件基金会的一个顶级项目,它提供了一个高性能且可靠的分布式协调服务框架。在分布式系统中,Zookeeper被广泛用于解决各种常见的分布式一致性问题,如命名服务、配置管理、...
一、Zookeeper简介 Zookeeper起源于雅虎研究部门的一个项目,后来成为Apache软件基金会的顶级项目。它提供了一种简单易用的接口,使得分布式应用能够管理和同步数据,实现服务发现、配置管理、命名服务等多种功能。...
一、Zookeeper简介 Zookeeper由Apache基金会开发,基于Java实现,设计灵感来源于Paxos算法。它提供了一种分布式一致性服务,确保在大规模分布式环境下的数据一致性。Zookeeper采用客户端/服务器模式,由多个节点...