Java API:介绍&创建节点|学习笔记

本文涉及的产品
服务治理 MSE Sentinel/OpenSergo,Agent数量 不受限
注册配置 MSE Nacos/ZooKeeper,118元/月
云原生网关 MSE Higress,422元/月
简介: 快速学习 Java API:介绍&创建节点

开发者学堂课程【大数据 ZooKeeper 快速入门 Java API:介绍&创建节点】学习笔记,与课程紧密联系,让用户快速学习知识。

课程地址:https://developer.aliyun.com/learning/course/549/detail/7570


Java API:介绍&创建节点


目录:

一、zookeeper 的 JavaAPI 介绍

二、JavaAPI 基本使用

 

课程概要:下面学习在 JavaAPI 中操作 zookeeper 集群

 

一.Zookeeper Java API

org.apache.zookeeper.Zookeeper

Zookeeper是在Java中客户端主类,负责建立与zookeeper集群的会话,并提供方法进行操作。在zookeeper类上提供了相应的方法,例如节点的创建、修改和删除等

org. apache.z.ookeeper.Watcher

Watcher 接口表示一个标准的事件处理器,其定义了事件通知相关的逻辑,包含KeeperState 和 EventType 两个枚举类,分别代表了通知状态和事件类型,同时定义了事件的回调方法: process (WatchedEvent event)。

process 方法是 Watcher 接口中的一个回调方法,当 ZooKeeper 向客户端发送一个 Watcher 事件通知时,客户端就会对相应的 process 方法进行回调,从而实现对事件的处理。

此逻辑即为 javaAPI 操作 zookeeper 类

 

二、基本使用

1. 建立 java maven 项目

引入 maven pom 坐标。

只需要把 zookeeper 引入,版本号与服务器保持一致

<dependency>

<groupId>org.apache.zookeeper</groupld>

<artifactId>zookeeper</artifactld>

<version>3.4.9K/version>

</ dependency>

2. 在 IDEA 中创建一个工程

(1)创建 maven 项目

(2)选择 maven 工程点击下一步,填写组织名和框架名称

(3)项目工程名称和存储路径

最终创建结果图:

image.png

在 pom.xml 中,把 zookeeper 依赖复制进入刷新即可

(4)Java 代码开发

在 main 方法中创建一个包,创建 TestZKClient.java

//创建 main 方法

public static void main(String[] args) throws Exception{

//注意导包:引入 org下的 zookeeper

//构造 JAVA 的 zookeeper 客户端

ZooKeeper zk = new ZooKeeper(

//连接信息:IP 和端口,毫秒超时事件,监听

//本地未配置 host 映射,此处应写 ip

"node-1:2181, node-2:2181, node-3:2181",30000,new Watcher()

) {

@Override

//此处为事件通知的回调方法,客户端在此处进行逻辑

public void process (WatchedEvent event){

System. out. println(”事件类型为:” + event.getState( ) ;

System. out. println(”事件类型为:” + event.getType( ) ;

System. out. println("事件发生的路径: “+ event. getPath);

}) ;

//创建一个节点

//在根目录下创建 myGirls,数据为性感的

zk.create("/myGirls,”性感的".getBytes("UTF-8"),ZooDefs.Ids.OPEN_ACL_UNSAFE,CreateMode.PERSISTENT)

Zk.close()

代码运行:没有zk方法创建节点的运行

image.png

此处打印三句话,第一个表示客户端与集群连接,客户端连接为 None

代码运行:

image.png

#在服务器上查看是否创建成功

[zk:localhost:2181(CONNECTED) 15] ls /

运行结果:

[myGrills00000000011,hellozk,watchtest]

#查看数据

[zk:localhost:2181(CONNECTED) 15] get /myGrills00000000011

运行结果:

性感的

czxid =0x200000051

ctime = Thu an o416:04:25 cST 2018

mzxid = 0x200000051

mtime = Thu an0416:04:25 cST 2018

pzxid = 0x200000051

cversion = 0

dataversion = 0

ac1version = 0

ephemera1owner = 0x0

dataLength = 9

numchi1dren = 0

相关实践学习
基于MSE实现微服务的全链路灰度
通过本场景的实验操作,您将了解并实现在线业务的微服务全链路灰度能力。
相关文章
|
2天前
|
Java API 数据处理
探索Java中的Lambda表达式与Stream API
【10月更文挑战第22天】 在Java编程中,Lambda表达式和Stream API是两个强大的功能,它们极大地简化了代码的编写和提高了开发效率。本文将深入探讨这两个概念的基本用法、优势以及在实际项目中的应用案例,帮助读者更好地理解和运用这些现代Java特性。
|
4天前
|
Java API 开发者
Java 8新特性之Stream API详解
【10月更文挑战第22天】Java 8引入了重要的Stream API,用于处理集合数据。本文分三部分介绍:基本概念与原理、使用方法及应用实例。Stream API支持延迟执行、惰性求值,提供过滤、映射、排序、聚合等操作,使代码更简洁、易读。文中详细讲解了创建Stream、中间操作、终端操作以及具体应用场景,如排序、过滤、映射和聚合。
10 3
|
8天前
|
Java 大数据 API
别死脑筋,赶紧学起来!Java之Steam() API 常用方法使用,让开发简单起来!
分享Java Stream API的常用方法,让开发更简单。涵盖filter、map、sorted等操作,提高代码效率与可读性。关注公众号,了解更多技术内容。
|
23天前
|
存储 Java API
如何使用 Java 中的 API 更改 PDF 纸张大小
如何使用 Java 中的 API 更改 PDF 纸张大小
35 11
|
23天前
|
机器学习/深度学习 算法 Java
通过 Java Vector API 利用 SIMD 的强大功能
通过 Java Vector API 利用 SIMD 的强大功能
33 10
|
24天前
|
分布式计算 资源调度 Hadoop
大数据-01-基础环境搭建 超详细 Hadoop Java 环境变量 3节点云服务器 2C4G XML 集群配置 HDFS Yarn MapRedece
大数据-01-基础环境搭建 超详细 Hadoop Java 环境变量 3节点云服务器 2C4G XML 集群配置 HDFS Yarn MapRedece
58 4
|
22天前
|
分布式计算 Java 大数据
大数据-147 Apache Kudu 常用 Java API 增删改查
大数据-147 Apache Kudu 常用 Java API 增删改查
24 1
|
23天前
|
分布式计算 Java Hadoop
Hadoop-30 ZooKeeper集群 JavaAPI 客户端 POM Java操作ZK 监听节点 监听数据变化 创建节点 删除节点
Hadoop-30 ZooKeeper集群 JavaAPI 客户端 POM Java操作ZK 监听节点 监听数据变化 创建节点 删除节点
52 1
|
2月前
|
安全 Java API
时间日期API(Date,SimpleDateFormat,Calendar)+java8新增日期API (LocalTime,LocalDate,LocalDateTime)
这篇文章介绍了Java中处理日期和时间的API,包括旧的日期API(Date、SimpleDateFormat、Calendar)和Java 8引入的新日期API(LocalTime、LocalDate、LocalDateTime)。文章详细解释了这些类/接口的方法和用途,并通过代码示例展示了如何使用它们。此外,还讨论了新旧API的区别,新API的不可变性和线程安全性,以及它们提供的操作日期时间的灵活性和简洁性。
|
16天前
|
SQL Java API
深入探索Java的持久化技术——JPA(Java Persistence API)
【10月更文挑战第10天】深入探索Java的持久化技术——JPA(Java Persistence API)
13 0