`
jetway
  • 浏览: 483684 次
  • 性别: Icon_minigender_1
  • 来自: 武汉
社区版块
存档分类
最新评论

ZooKeeper——入门

    博客分类:
  • java
 
阅读更多

1.从http://zookeeper.apache.org下载最新版本的ZooKeeper(当前最新版为zookeeper-3.4.5)

 

2.$ tar zxf zookeeper-3.4.5.tar.gz解压

 

3.在conf目录下创建配置文件zoo.cfg

Java代码 复制代码 收藏代码
  1. tickTime=2000  
  2. dataDir=/home/lan/zookeeper   
  3. clientPort=2181  
tickTime=2000
dataDir=/home/lan/zookeeper
clientPort=2181

 tickTime是发送心跳包的时间间隔

 dataDir用于存储Zookeeper的内存数据库快照和更新事务日志(日志目录可另外配置)

 clientPort端口用于监听客户端连接

 

4.启动ZooKeeper

 

5.连接ZooKeeper

 

5.在shell中通过help命令查看客户端可以执行哪些命令

 

6.通过ls命令查看根目录

  

7.创建一个znode

 
 8.读取znode

 

9.修改znode

 

10.删除znode

 

  1. package zookeeper.demo;   
  2.   
  3. import java.io.IOException;   
  4. import java.util.List;   
  5. import java.util.concurrent.CountDownLatch;   
  6.   
  7. import org.apache.zookeeper.CreateMode;   
  8. import org.apache.zookeeper.KeeperException;   
  9. import org.apache.zookeeper.WatchedEvent;   
  10. import org.apache.zookeeper.Watcher;   
  11. import org.apache.zookeeper.Watcher.Event.KeeperState;   
  12. import org.apache.zookeeper.ZooDefs.Ids;   
  13. import org.apache.zookeeper.ZooKeeper;   
  14. import org.apache.zookeeper.data.Stat;   
  15.   
  16. public class ZooKeeperTestCase implements Watcher {   
  17.        
  18.     private static ZooKeeper zk;   
  19.     private String path;   
  20.     private Stat stat;   
  21.     private static CountDownLatch countDown = new CountDownLatch(1);   
  22.        
  23.     public ZooKeeperTestCase(){   
  24.         if(zk == null){   
  25.             try {   
  26.                 System.out.println("Starting ZK:");   
  27.                 zk = new ZooKeeper("192.168.202.129"3000this);   
  28.                 countDown.await();   
  29.                 System.out.println("Finished starting ZK: " + zk);   
  30.             } catch (IOException e) {   
  31.                 zk = null;   
  32.                 e.printStackTrace();   
  33.             } catch (InterruptedException e) {   
  34.                 e.printStackTrace();   
  35.             }   
  36.         }   
  37.     }   
  38.        
  39.     @Override  
  40.     public void process(WatchedEvent event) {   
  41.         if(event.getState() == KeeperState.SyncConnected){   
  42.             countDown.countDown();   
  43.         }   
  44.         System.out.println("-----"+event.getState());   
  45.     }   
  46.        
  47.     public void create() throws KeeperException, InterruptedException{   
  48.         path = zk.create("/zk_java""java_binding".getBytes(), Ids.OPEN_ACL_UNSAFE, CreateMode.PERSISTENT_SEQUENTIAL);   
  49.         System.out.println("created znode:" + path);   
  50.     }   
  51.        
  52.     public void list() throws KeeperException, InterruptedException{   
  53.         List<String> strings = zk.getChildren("/"true);   
  54.         System.out.println("list:"+strings);   
  55.     }   
  56.        
  57.     public void exist() throws KeeperException, InterruptedException{   
  58.         stat = zk.exists(path, true);   
  59.         System.out.println("exits:"+stat.getDataLength());   
  60.     }   
  61.        
  62.     public void get() throws KeeperException, InterruptedException{   
  63.         Stat stat = new Stat();   
  64.         byte[] data = zk.getData(path, true, stat);   
  65.         System.out.print(new String(data));   
  66.         System.out.println(stat);   
  67.     }   
  68.        
  69.     public void set() throws KeeperException, InterruptedException{   
  70.         stat = zk.setData(path, "zk_ooxx".getBytes(), stat.getVersion());   
  71.     }   
  72.        
  73.     public void delete() throws InterruptedException, KeeperException{   
  74.         zk.delete(path, stat.getVersion());   
  75.     }   
  76.        
  77.     public void close() throws InterruptedException{   
  78.         zk.close();   
  79.     }   
  80.   
  81.     public static void main(String[] args) throws Exception {   
  82.         ZooKeeperTestCase zkTest = new ZooKeeperTestCase();   
  83.            
  84.         zkTest.list();   
  85.            
  86.         zkTest.create();   
  87.         zkTest.list();   
  88.            
  89.         zkTest.exist();   
  90.         zkTest.get();   
  91.            
  92.         zkTest.set();   
  93.         zkTest.get();   
  94.            
  95.         zkTest.delete();   
  96.         zkTest.list();   
  97.            
  98.         zkTest.close();   
  99.     }   
  100. }  

 

分享到:
评论

相关推荐

    Zookeeper从入门到精通课程资源(未加密)

    通过学习《Zookeeper从入门到精通课程资源》,你可以深入了解Zookeeper的工作原理,掌握其核心功能,以及如何在分布式系统中有效利用Zookeeper解决实际问题。配合提供的"zookeeper视频汇总.txt",系统学习将更加高效...

    Hadoop快速入门——第四章、zookeeper安装包

    总结来说,Hadoop快速入门的第四章主要介绍了Zookeeper的安装和配置,这对于理解和实践Hadoop分布式计算至关重要。通过学习Zookeeper,你可以更好地理解分布式系统的协调机制,提升你在大数据领域的专业能力。

    Dubbo入门搭建zookeeper集群+服务端消费端demo

    【标题】"Dubbo入门搭建zookeeper集群+服务端消费端demo"主要涵盖了两个核心的分布式服务框架——Dubbo和Zookeeper,以及如何在实际环境中整合它们进行服务的注册与发现。 Dubbo是阿里巴巴开源的一款高性能、轻量级...

    zookeeper学习之三(Curator客户端)

    本篇文章将专注于ZooKeeper的客户端——Curator,这是一个由Apache提供的Java库,旨在简化与ZooKeeper的交互。 Curator客户端是Apache Curator框架的一部分,该框架为开发人员提供了一系列高级API和工具,用于处理...

    Dubbo新手入门实例HelloWorld(zookeeper)源码

    在本实例中,“Dubbo新手入门实例HelloWorld(zookeeper)”旨在帮助初学者了解如何结合Dubbo和Zookeeper创建一个简单的服务提供者和消费者。首先,我们需要理解这两个关键组件: 1. **Dubbo**: Dubbo的核心功能包括...

    微服务入门及zookeeper1

    每个服务都围绕特定业务功能进行构建,并且能够通过轻量级机制——通常是HTTP RESTful API——相互通信。这种架构模式允许团队独立地开发、测试和部署服务,从而提高了开发效率和系统的可伸缩性。 面向服务的架构...

    非常好的大数据入门目资源,分享出来.zip

    分布式文件存储系统 —— HDFS 分布式计算框架 —— MapReduce 集群资源管理器 —— YARN Hadoop 单机伪集群环境搭建 Hadoop 集群环境搭建 HDFS 常用 Shell 命令 HDFS Java API 的使用 基于 Zookeeper 搭建 Hadoop ...

    大数据精选入门指南,包括大数据学习路线、大数据技术栈思维导图

    分散文件存储系统 —— HDFS 多元计算框架——MapReduce 集群资源管理器 —— YARN Hadoop单机伪集群环境搭建 Hadoop 云服务环境搭建 HDFS使用Shell命令 HDFS Java API的使用 基于Zookeeper搭建Hadoop高可用服务 二...

    hbase入门到精通

    ### HBase从入门到精通——关键技术点解析 #### 一、HBase技术概览 **HBase**(Hadoop Database)是一种分布式、可扩展的NoSQL数据库系统,它基于Google Bigtable论文的思想构建而成,并且作为Apache Hadoop生态...

    新建文件夹 (6).rar_dubbo入门

    【标题】"新建文件夹 (6).rar_dubbo入门" 提供了我们即将探讨的主题——Dubbo入门。Dubbo是阿里巴巴开源的一款高性能、轻量级的Java服务治理框架,它致力于提供面向服务的RPC(远程过程调用)解决方案,帮助开发者...

    大数据基础知识入门.pdf

    为了解决这些问题,Google在2003年至2006年间提出了三个关键技术创新——GFS(Google File System)、MapReduce和BigTable,这三大技术构成了大数据处理的基础。随后,Doug Cutting受到这些技术的启发,开发了Hadoop...

    2021年最新Java后端学习路线,适用于所有想要踏入Java行业的初学者(csdn)————程序.pdf

    以下是一份2021年更新的Java后端学习路线,旨在帮助入门者逐步深入Java世界。 首先,基础阶段是学习任何编程语言的关键。在Java的世界里,你需要掌握基础语法、数据类型、方法、面向对象编程概念以及异常处理。理解...

    dubbo_demo.7z

    这个压缩包旨在为初学者提供一个快速入门Dubbo分布式架构的实践教程。 【描述】中提到的"Dubbo实现分布方式部署(demo)"表明该压缩包内含有一个具体的示例项目,展示了如何在分布式环境中配置和运行Dubbo服务。...

    PyPI 官网下载 | kxy-1.2.44.tar.gz

    2. `README`:项目简介和使用指南,通常包含快速入门和示例。 3. `LICENSE`:软件许可文件,规定了软件的使用权限和条件。 4. `src`或`kxy`目录:库的核心源代码,包括模块和类定义。 5. `tests`或`test`目录:单元...

    Mycat从入门到精通之分片规则、场景、策略.zip

    《Mycat从入门到精通之分片规则、场景、策略》是一份全面介绍Mycat数据库中间件的教程资源,包含PPT讲义和相关的练习题,旨在帮助学习者深入理解和掌握Mycat的核心功能——数据分片。在大数据时代,面对海量的数据...

    PyPI 官网下载 | kpages-1.3.4.dev0.tar.gz

    开发者可以通过阅读README文件获取快速入门指南,使用setup.py脚本进行安装,或者查看源代码理解库的工作原理。此外,测试用例是检验库功能是否正常的重要参考,可以帮助开发者更好地理解和使用kpages库。 总结来说...

    PyPI 官网下载 | pipeline-ai-0.0.4b0.tar.gz

    《PyPI官网下载:pipeline-ai-0.0.4b0.tar.gz——探索人工智能、Zookeeper、分布式与云原生技术》 PyPI(Python Package Index)是Python社区广泛使用的软件包仓库,用于发布和下载Python开源项目。标题中的"PyPI ...

    PyPI 官网下载 | ConfigFramework-1.1.2.tar.gz

    《PyPI官网下载 | ConfigFramework-1.1.2.tar.gz——Python配置管理框架解析》 在Python的世界里,PyPI(Python Package Index)是广大开发者获取和分享Python软件包的重要平台。此次我们关注的资源...

    PyPI 官网下载 | testPauliBohr-1.0.0.tar.gz

    对于Python库而言,通常包含以下组成部分:setup.py文件用于定义项目元数据和构建过程,LICENSE文件规定了库的使用许可,README文件提供了快速入门指南和项目概述,以及源代码、测试文件和示例。在解压...

    PyPI 官网下载 | DobotEDU-1.1.0.tar.gz

    《PyPI官网下载的DobotEDU-1.1.0.tar.gz——探索Python库与分布式系统集成》 PyPI(Python Package Index)是Python开发者的重要资源库,它提供了丰富的Python软件包,供全球的Python程序员下载和使用。在本文中,...

Global site tag (gtag.js) - Google Analytics