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

本文涉及的产品
注册配置 MSE Nacos/ZooKeeper,118元/月
云原生网关 MSE Higress,422元/月
服务治理 MSE Sentinel/OpenSergo,Agent数量 不受限
简介: 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实现微服务的全链路灰度
通过本场景的实验操作,您将了解并实现在线业务的微服务全链路灰度能力。
目录
相关文章
|
19天前
|
SQL IDE Java
Java连接SQL Server数据库的详细操作流程
Java连接SQL Server数据库的详细操作流程
|
19天前
|
Java Linux 测试技术
Java sdk连接fabric网络的谜之报错
Java sdk连接fabric网络的谜之报错
50 0
|
2天前
|
NoSQL Java Redis
软件开发常见流程之宝塔初始化安装环境配置,Lam前面不选,直接跳商城,在宝塔内点击软件商城,安Mysql5.7,安java项目管理器,安Ngnix最新版,安Redis
软件开发常见流程之宝塔初始化安装环境配置,Lam前面不选,直接跳商城,在宝塔内点击软件商城,安Mysql5.7,安java项目管理器,安Ngnix最新版,安Redis
|
10天前
|
NoSQL Java Redis
java架构之路-(Redis专题)SpringBoot连接Redis超简单
java架构之路-(Redis专题)SpringBoot连接Redis超简单
|
11天前
|
存储 监控 Java
深入理解Java虚拟机-类加载连接和初始化解析
深入理解Java虚拟机-类加载连接和初始化解析
|
14天前
|
SQL Java 数据库连接
Java开发者必知:JDBC连接数据库的“三大法宝”
【6月更文挑战第24天】Java JDBC的三大法宝简化数据库操作:①统一API接口,跨平台与各类数据库交互;②参数化查询,提升效率,防止SQL注入;③事务管理,确保数据一致性。通过这三个核心特性,开发者能更安全高效地处理数据库任务。示例代码展示了如何使用这些功能。
|
15天前
|
Java Android开发
Java Socket编程示例:服务器开启在8080端口监听,接收客户端连接并打印消息。
【6月更文挑战第23天】 Java Socket编程示例:服务器开启在8080端口监听,接收客户端连接并打印消息。客户端连接服务器,发送"Hello, Server!"后关闭。注意Android中需避免主线程进行网络操作。
37 4
|
18天前
|
Java 应用服务中间件 Apache
安装和配置Apache Tomcat是部署Java Web应用程序的常见任务
安装和配置Apache Tomcat是部署Java Web应用程序的常见任务
45 7
|
17天前
|
Java 关系型数据库 MySQL
杨校老师课堂之Java项目部署到云端服务器之安装MySQL、Jdk、Tomcat
杨校老师课堂之Java项目部署到云端服务器之安装MySQL、Jdk、Tomcat
24 0
杨校老师课堂之Java项目部署到云端服务器之安装MySQL、Jdk、Tomcat
|
19天前
|
SQL IDE Java
Java连接SQL Server数据库的详细操作流程
Java连接SQL Server数据库的详细操作流程