Java--安装和用原生API连接Zookeeper

本文涉及的产品
服务治理 MSE Sentinel/OpenSergo,Agent数量 不受限
云原生网关 MSE Higress,422元/月
注册配置 MSE Nacos/ZooKeeper,118元/月
简介: Zookeeper是一个典型的分布式数据一致性的解决方案,分布式应用程序可以基于它实现诸如数据发布/订阅、负载均衡、命名服务、分布式协调/通知、集群管理、Master 选举、分布式锁和分布式队列等功能。

Zookeeper是一个典型的分布式数据一致性的解决方案,分布式应用程序可以基于它实现诸如数据发布/订阅、负载均衡、命名服务、分布式协调/通知、集群管理、Master 选举、分布式锁和分布式队列等功能。

       今天记录一下在Windows上安装并启动Zookeeper。

一、先到官网下载最新的稳定版:

https://zookeeper.apache.org/releases.html

image.png

       这里要注意的是 红色框框里第一行是编译好的二进制,我们直接下载这个,第二行是源码,源码里我下载后发现是没有包的,会报一个找不到包的错,我们直接下载解压,这个是在3.5之后更改的,3.5之前源码也可以直接启动,但是3.5之后就不行了。

报错:找不到或无法加载主类org.apache.zookeeper.server.quorum.QuorumPeerMain

二、解压

image.png

       解压后获取的就是上图所示的目录结构,现在就可以直接启动了,打开bin目录,双击zkServer.cmd即可。

image.png

       启动后会出现黑屏终端,并打印出日志信息:


image.png

出现绑定到端口说明成功了。

三、配置

       如果想自定义配置一些东西,可以conf目录下,复制zoo_sample.cfg文件,重命名为zoo.cfg。

image.png

       在zooe.cfg中即可修改或者添加配置:

image.png


Linux其实和Windows差不多,不过是用命令来操作,最后启动的文件不是cmd,而是zkServer.sh start。

$wgethttps://mirror.bit.edu.cn/apache/zookeeper/zookeeper-3.6.3/zookeeper-3.6.3.tar.gz$tar-zxvfzookeeper-3.6.3.tar.gz$cdzookeeper-3.6.3$cdconf/$cpzoo_sample.cfgzoo.cfg$cd ..
$cdbin/$shzkServer.shstart


四、Java连接Zookeeper

packagecom.xing.studyboot.component.zookeeper;
importjava.util.concurrent.CountDownLatch;
importorg.apache.zookeeper.WatchedEvent;
importorg.apache.zookeeper.Watcher;
importorg.apache.zookeeper.Watcher.Event;
importorg.apache.zookeeper.ZooKeeper;
publicclassTestZookeeper {
publicstaticvoidmain(String[] args) {
try {
finalCountDownLatchcountDownLatch=newCountDownLatch(1);
@SuppressWarnings("resource")
ZooKeeperzooKeeper=newZooKeeper("172.23.8.168:2181",4000, newWatcher() {
@Overridepublicvoidprocess(WatchedEventevent) {
if(Event.KeeperState.SyncConnected==event.getState()){
//如果收到了服务端的响应事件,连接成功countDownLatch.countDown();
                      }
                  }
              });
countDownLatch.await();
//CONNECTEDSystem.out.println(zooKeeper.getState());
      }catch (Exceptione) {
e.printStackTrace();
    }
  }
}

运行main方法:

image.png

       控制台输出 connected 显示连接成功!


总结:

       安装和Java使用原生API连接Zookeeper。

     

END

相关实践学习
基于MSE实现微服务的全链路灰度
通过本场景的实验操作,您将了解并实现在线业务的微服务全链路灰度能力。
目录
相关文章
|
16天前
|
存储 SpringCloudAlibaba Java
【SpringCloud Alibaba系列】一文全面解析Zookeeper安装、常用命令、JavaAPI操作、Watch事件监听、分布式锁、集群搭建、核心理论
一文全面解析Zookeeper安装、常用命令、JavaAPI操作、Watch事件监听、分布式锁、集群搭建、核心理论。
【SpringCloud Alibaba系列】一文全面解析Zookeeper安装、常用命令、JavaAPI操作、Watch事件监听、分布式锁、集群搭建、核心理论
|
17天前
|
JSON Java Apache
Java基础-常用API-Object类
继承是面向对象编程的重要特性,允许从已有类派生新类。Java采用单继承机制,默认所有类继承自Object类。Object类提供了多个常用方法,如`clone()`用于复制对象,`equals()`判断对象是否相等,`hashCode()`计算哈希码,`toString()`返回对象的字符串表示,`wait()`、`notify()`和`notifyAll()`用于线程同步,`finalize()`在对象被垃圾回收时调用。掌握这些方法有助于更好地理解和使用Java中的对象行为。
|
1月前
|
算法 Java API
如何使用Java开发获得淘宝商品描述API接口?
本文详细介绍如何使用Java开发调用淘宝商品描述API接口,涵盖从注册淘宝开放平台账号、阅读平台规则、创建应用并申请接口权限,到安装开发工具、配置开发环境、获取访问令牌,以及具体的Java代码实现和注意事项。通过遵循这些步骤,开发者可以高效地获取商品详情、描述及图片等信息,为项目和业务增添价值。
64 10
|
1月前
|
存储 Java 数据挖掘
Java 8 新特性之 Stream API:函数式编程风格的数据处理范式
Java 8 引入的 Stream API 提供了一种新的数据处理方式,支持函数式编程风格,能够高效、简洁地处理集合数据,实现过滤、映射、聚合等操作。
65 6
|
1月前
|
Java API 开发者
Java中的Lambda表达式与Stream API的协同作用
在本文中,我们将探讨Java 8引入的Lambda表达式和Stream API如何改变我们处理集合和数组的方式。Lambda表达式提供了一种简洁的方法来表达代码块,而Stream API则允许我们对数据流进行高级操作,如过滤、映射和归约。通过结合使用这两种技术,我们可以以声明式的方式编写更简洁、更易于理解和维护的代码。本文将介绍Lambda表达式和Stream API的基本概念,并通过示例展示它们在实际项目中的应用。
|
2月前
|
开发框架 Java 关系型数据库
Java哪个框架适合开发API接口?
在快速发展的软件开发领域,API接口连接了不同的系统和服务。Java作为成熟的编程语言,其生态系统中出现了许多API开发框架。Magic-API因其独特优势和强大功能,成为Java开发者优选的API开发框架。本文将从核心优势、实际应用价值及未来展望等方面,深入探讨Magic-API为何值得选择。
76 2
|
2月前
|
安全 Java API
Java中的Lambda表达式与Stream API的高效结合####
探索Java编程中Lambda表达式与Stream API如何携手并进,提升数据处理效率,实现代码简洁性与功能性的双重飞跃。 ####
33 0
|
3天前
|
JSON API 数据格式
京东商品SKU价格接口(Jd.item_get)丨京东API接口指南
京东商品SKU价格接口(Jd.item_get)是京东开放平台提供的API,用于获取商品详细信息及价格。开发者需先注册账号、申请权限并获取密钥,随后通过HTTP请求调用API,传入商品ID等参数,返回JSON格式的商品信息,包括价格、原价等。接口支持GET/POST方式,适用于Python等语言的开发环境。
35 11
|
26天前
|
人工智能 自然语言处理 API
Multimodal Live API:谷歌推出新的 AI 接口,支持多模态交互和低延迟实时互动
谷歌推出的Multimodal Live API是一个支持多模态交互、低延迟实时互动的AI接口,能够处理文本、音频和视频输入,提供自然流畅的对话体验,适用于多种应用场景。
75 3
Multimodal Live API:谷歌推出新的 AI 接口,支持多模态交互和低延迟实时互动
|
14天前
|
JSON 安全 API
淘宝商品详情API接口(item get pro接口概述)
淘宝商品详情API接口旨在帮助开发者获取淘宝商品的详细信息,包括商品标题、描述、价格、库存、销量、评价等。这些信息对于电商企业而言具有极高的价值,可用于商品信息展示、市场分析、价格比较等多种应用场景。
下一篇
开通oss服务