package zookeeper.demo; import java.io.IOException; import java.util.List; import java.util.concurrent.CountDownLatch; import org.apache.zookeeper.CreateMode; import org.apache.zookeeper.KeeperException; import org.apache.zookeeper.WatchedEvent; import org.apache.zookeeper.Watcher; import org.apache.zookeeper.Watcher.Event.KeeperState; import org.apache.zookeeper.ZooDefs.Ids; import org.apache.zookeeper.ZooKeeper; import org.apache.zookeeper.data.Stat; public class ZooKeeperTestCase implements Watcher { private static ZooKeeper zk; private String path; private Stat stat; private static CountDownLatch countDown = new CountDownLatch(1); public ZooKeeperTestCase(){ if(zk == null){ try { System.out.println("Starting ZK:"); zk = new ZooKeeper("192.168.202.129", 3000, this); countDown.await(); System.out.println("Finished starting ZK: " + zk); } catch (IOException e) { zk = null; e.printStackTrace(); } catch (InterruptedException e) { e.printStackTrace(); } } } @Override public void process(WatchedEvent event) { if(event.getState() == KeeperState.SyncConnected){ countDown.countDown(); } System.out.println("-----"+event.getState()); } public void create() throws KeeperException, InterruptedException{ path = zk.create("/zk_java", "java_binding".getBytes(), Ids.OPEN_ACL_UNSAFE, CreateMode.PERSISTENT_SEQUENTIAL); System.out.println("created znode:" + path); } public void list() throws KeeperException, InterruptedException{ List<String> strings = zk.getChildren("/", true); System.out.println("list:"+strings); } public void exist() throws KeeperException, InterruptedException{ stat = zk.exists(path, true); System.out.println("exits:"+stat.getDataLength()); } public void get() throws KeeperException, InterruptedException{ Stat stat = new Stat(); byte[] data = zk.getData(path, true, stat); System.out.print(new String(data)); System.out.println(stat); } public void set() throws KeeperException, InterruptedException{ stat = zk.setData(path, "zk_ooxx".getBytes(), stat.getVersion()); } public void delete() throws InterruptedException, KeeperException{ zk.delete(path, stat.getVersion()); } public void close() throws InterruptedException{ zk.close(); } public static void main(String[] args) throws Exception { ZooKeeperTestCase zkTest = new ZooKeeperTestCase(); zkTest.list(); zkTest.create(); zkTest.list(); zkTest.exist(); zkTest.get(); zkTest.set(); zkTest.get(); zkTest.delete(); zkTest.list(); zkTest.close(); } }
相关推荐
《Paxos到Zookeeper——分布式一致性原理与实践》,学习zookeeper必备。该资源仅供大家了解书的内容,如果真有兴趣深入学习,建议购买正版书籍。
2.Zookeeper——Zookeeper单机和分布式安装 3.Zookeeper——Zookeeper客户端命令 4.Zookeeper——Zookeeper内部原理 5.Zookeeper——Zookeeper实战 三、Hive 1.Hive——Hive概述 2.Hive——Hive...
5、zookeeper的java -Curator(服务注册与发现)...该示例会涉及到本专栏下的其他文章,比如:4、zookeeper的java三种客户端介绍-Curator(crud、事务操作、监听、分布式计数器、分布式锁) 等文章,都是在该专栏下的。
zookeeper客户端原理代码操作应用场景。
通过java客户端创建zk节点,变更节点,利用zk的watcher机制测试zk集群下的数据一致性,事务锁等机制。
Dubbo+zookeeper调用java接口 简单的Demo 内有运行需要的jar包
Zookeeper_Java客户端Curator
尚硅谷dubbo,zookeeper,java,android,尚硅谷dubbo,zookeeper,java,android
这个是利用Java开发,借助于zookeeper来进行节点数据存储的服务器动态上下限感知系统(原先我们有三台服务器进行不停的接受FTP数据,但是这三台服务器在运行的过程中随时都有可能掉线或者断电,这样FTP中的数据就不能...
Zookeeper权限控制代码,并且描述了在linux客户端指令鉴权
zookeeper的基础与架构、集群搭建 zookeeper是什么?? zookeeper是一个分布式协调服务,就是为用户的分布式应用提供协调服务 zookeeper是为其他的分布式程序服务的 zookeeper本身也是一个分布式程序(只要有半数...
java中zookeeper使用学习总结:zk的应用领域,zk的数据结构,使用zk实现分布式锁
Zookeeper对java支持的原生API,Zookeeper版本:3.4.10
4、zookeeper的java三种客户端介绍-Curator(crud、事务操作、监听、分布式计数器、分布式锁) 网址:https://blog.csdn.net/chenwewi520feng/article/details/130288718 zookeeper常用的3种java客户端 zookeeper...
12.zookeeper的java户端api基本功能操作示范.mp4
java代码-使用java解决JEESZ-Zookeeper集群安装的源代码 ——学习参考资料:仅用于个人学习使用!
zookeeper的java-Demo
这是一个整合了SSM框架+dubbo+zookeeper的java项目,运用到了项目中常用的权限控制,读写分离等技术,是一个学习java技术非常好的项目
java面试——zookeeper面试专题.zip
使用JAVA代码实现zookeeper服务的节点删除功能,代码带有注释简单易懂