1、配置过程,参见http://blog.csdn.net/morning99/article/details/40426133
2、测试代码如下
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.ZooDefs; import org.apache.zookeeper.ZooKeeper; import org.apache.zookeeper.data.Stat; import common.Logger; /** * zoo管理类 * @author bla * */ public class ZooManager implements Watcher { public ZooKeeper zooKeeper; private static final int SESSION_TIME_OUT = 6000; private CountDownLatch countDownLatch = new CountDownLatch(1); /** * 连接zookeeper * * @param host * @throws IOException * @throws InterruptedException */ public void connectZookeeper(String host) throws IOException, InterruptedException { zooKeeper = new ZooKeeper(host, SESSION_TIME_OUT, this); countDownLatch.await(); System.out.println("zookeeper connect ok"); } /** * 实现watcher的接口方法,当连接zookeeper成功后,zookeeper会通过此方法通知watcher * 此处为如果接受到连接成功的event,则countDown,让当前线程继续其他事情。 */ @Override public void process(WatchedEvent event) { if (event.getState() == Event.KeeperState.SyncConnected) { System.out.println("watcher received event"); countDownLatch.countDown(); } } /** * 根据路径创建节点,并且设置节点数据 * * @param path * @param data * @return * @throws KeeperException * @throws InterruptedException */ public String createNode(String path, byte[] data) throws KeeperException, InterruptedException { return this.zooKeeper.create(path, data, ZooDefs.Ids.OPEN_ACL_UNSAFE, CreateMode.PERSISTENT); } /** * 根据路径获取所有孩子节点 * * @param path * @return * @throws KeeperException * @throws InterruptedException */ public List<String> getChildren(String path) throws KeeperException, InterruptedException { return this.zooKeeper.getChildren(path, false); } public Stat setData(String path, byte[] data, int version) throws KeeperException, InterruptedException { return this.zooKeeper.setData(path, data, version); } /** * 根据路径获取节点数据 * * @param path * @return * @throws KeeperException * @throws InterruptedException */ public byte[] getData(String path) throws KeeperException, InterruptedException { return this.zooKeeper.getData(path, false, null); } /** * 删除节点 * * @param path * @param version * @throws InterruptedException * @throws KeeperException */ public void deletNode(String path, int version) throws InterruptedException, KeeperException { this.zooKeeper.delete(path, version); } /** * 关闭zookeeper连接 * * @throws InterruptedException */ public void closeConnect() throws InterruptedException { if (null != zooKeeper) { zooKeeper.close(); } } private static Logger logger = Logger.getLogger(ZooManager.class); public static void main(String[] args) { try { ZooManager baseZookeeper = new ZooManager(); String host = "127.0.0.1:2182,127.0.0.1:2183"; // 连接zookeeper baseZookeeper.connectZookeeper(host); System.out.println("--------connect zookeeper ok-----------"); // 创建节点 /*byte [] data = {1, 2, 3, 4, 5}; String result = baseZookeeper.createNode("/test", data); System.out.println(result); System.out.println("--------create node ok-----------");*/ // 获取某路径下所有节点 List<String> children = baseZookeeper.getChildren("/"); for (String child : children) { logger.info(child); } logger.info("--------get children ok-----------"); // 获取节点数据 /* byte [] nodeData = baseZookeeper.getData("/test"); logger.info(new String(nodeData,"UTF-8")); logger.info("--------get node data ok-----------");*/ // 更新节点数据 byte[] data = "测试".getBytes("UTF-8"); baseZookeeper.createNode("/test", data);//版本号为当前的版本 System.out.println("--------set node data ok-----------"); byte[] nodeData = baseZookeeper.getData("/test"); System.out.println(new String(nodeData,"UTF-8")); System.out.println("--------get node new data ok-----------"); baseZookeeper.closeConnect(); System.out.println("--------close zookeeper ok-----------"); } catch (Exception e) { e.printStackTrace(); logger.error("...zookeeper操作出错....",e); } } }
相关推荐
07.Kafka Java API 简单开发测试 08.storm-kafka 详解和实战案例 09.S图表框架HighCharts介绍 10.HBase快速入门 11.基于HBase的Dao基类和实现类开发一 12.基于HBase的Dao基类和实现类开发二 13.项目1-地区销售额-...
该模块的设计类似于ZooKeeper Java客户端API,但进行了一些调整以遵循Node.js模块的约定。 熟悉ZooKeeper Java客户端的开发人员将能够快速上手。 该模块已经过测试,可与ZooKeeper 3.4。*版一起使用。 安装 您可以...
第3课:Watches、Node、API介绍、Java Client开发 * Watches详解 * Node详解 * API介绍 * Java Client开发 第4课:开源客户端zkclient curator * 通过别的开源API实现对Zookeeper的操作 * 提升对Zookeeper的开发...
zookeeper-maven-plugin 在以下位置查看此插件的文档: : 受Jetty-Maven-plugin启发,用于启动ZooKeeper服务器进行集成测试的Maven插件。 该插件将用于其自己的版本。 它的公共API是目标和配置选项的名称。
只是一个测试类,测试了java连接zookeeper的api使用,需要注意几个问题,不过我都写入到博客中了,大家可以按照我都博客说明来测试。
使用Idea开发,用来测试dubbo和zookeeper整合的测试demo,装好zookeeper,首先启动Zookeeper:zkServer.cmd 然后启动服务生产者测试类,最后启动服务消费者的测试类,
第3章 Docker实战开发 042设置镜像标签 024Docker 简介 025Docker 功能特点 026Docker 系统架构 027Docker 安装 028第一个 Docker 应用程序 029运行交互式的容器 030后台运行与停止容器 031Docker ...
Zookeeper群集侦察测试待测试zookeeper:原始的低杠杆api。 策展人:适用于原始动物园管理员的高级api,并且必须具有框架。 spring-cloud-zookeeper:嵌入了策展人的框架实现了重新连接。 dubbo:嵌入了策展人的框架...
第3章 Docker实战开发 042设置镜像标签 024Docker 简介 025Docker 功能特点 026Docker 系统架构 027Docker 安装 028第一个 Docker 应用程序 029运行交互式的容器 030后台运行与停止容器 031Docker 客户端帮助命令 ...
3、配置完成,运行Application中的main方法,访问 http://localhost:8080/seckill/swagger-ui.html 进行API测试。 4、秒杀商品页:http://localhost:8080/seckill/index.shtml ,部分功能待完成。 5、本测试案例单纯...
Flink 1.9 Table API -kafkaSource 使用kafka作为flink的数据源对接flink Table,本次测试使用的是单节点的kafka以及flink,以下为一次简单的操作,包括kafka主题的创建、订阅、发布以及具体的小案例 kafka中主题的...
Dubbo有Spring配置方式和Java API配置方式。 十一、Dubbo核心的配置有哪些? Dubbo核心的配置有 timeout、retries、loadbalance、actives 等。 十二、在Provider上可以配置的Consumer端的属性有哪些? 在...
API管理工具则方便开发者创建、测试、发布和维护API接口。 持续集成与持续部署(CI/CD): Jenkins、Travis CI、GitHub Actions等工具负责自动化构建、测试和部署流程,提高交付效率和可靠性。 数据库管理与...
dubbo[api consumer provide] springboot+dubbo+zookeeper 是一种高性能,基于Java的开源RPC框架。由于dubbo只有JAVA版本,若和第三方厂商进行远程调用受到语言的局限性。 simple_server[restful] 轻量级restful接口...
3-1 HBase写流程 3-2 HBase读流程 3-3 HBase模块协作 3-4 HBase实战:Shell命令实战 3-5 HBase实 战:Java Api实现HBase连接类 3-6 HBase实战:Java Api实现HBase操作类 3-7 HBase实战:用过滤器筛选数据 3-8 HBase...
java8流源码Dempsy 通用 API 该项目包含一组作为项目一部分生成的 API 和有用的实用程序。 我目前正在专业地使用它们,并认为将它们分开并使它们普遍可用是有意义的。 内容 - 编写集群数据管理代码的工具。 关于 ...
07.Kafka Java API 简单开发测试 08.storm-kafka 详解和实战案例 09.S图表框架HighCharts介绍 10.HBase快速入门 11.基于HBase的Dao基类和实现类开发一 12.基于HBase的Dao基类和实现类开发二 13.项目1-地区销售额-...
07.Kafka Java API 简单开发测试 08.storm-kafka 详解和实战案例 09.S图表框架HighCharts介绍 10.HBase快速入门 11.基于HBase的Dao基类和实现类开发一 12.基于HBase的Dao基类和实现类开发二 13.项目1-地区销售额-...
07.Kafka Java API 简单开发测试 08.storm-kafka 详解和实战案例 09.S图表框架HighCharts介绍 10.HBase快速入门 11.基于HBase的Dao基类和实现类开发一 12.基于HBase的Dao基类和实现类开发二 13.项目1-地区销售额-...
07.Kafka Java API 简单开发测试 08.storm-kafka 详解和实战案例 09.S图表框架HighCharts介绍 10.HBase快速入门 11.基于HBase的Dao基类和实现类开发一 12.基于HBase的Dao基类和实现类开发二 13.项目1-地区销售额-...