Zookeeper之zkCli.sh客户端的使用

本文涉及的产品
任务调度 XXL-JOB 版免费试用,400 元额度,开发版规格
服务治理 MSE Sentinel/OpenSergo,Agent数量 不受限
云原生网关 MSE Higress,422元/月
简介: Zookeeper之zkCli.sh客户端的使用

0x00 教程内容


  1. zkCli.sh的启动与帮助
  2. zkCli.sh客户端的使用

Zookeeper的安装请参考教程:D003 复制粘贴玩大数据之安装与配置Zookeeper集群

PS:Zookeeper的zkCli.sh的命令与Linux的命令类似,上手也非常简单。


0x01 zkCli.sh的启动与帮助


1. 启动

a. 在三台节点上均执行

zkServer.sh start

b. 启动master上执行

zkCli.sh -server master:2181


image.png


2. 查看帮助命令

a. 查看命令具体操作

h

image.png


0x02 zkCli.sh客户端的使用


1. zkCli.sh基础操作

a. 查看根路径有哪些节点

ls /

image.png


b. 创建一个节点

create /shaonaiyi man

image.png


c. 获取节点/shaonaiyi的数据值

get /shaonaiyi


image.png


讲解:

cZxid 创建该节点的事物ID
ctime 创建该节点的时间
mZxid 更新该节点的事物ID
mtime 更新该节点的时间
pZxid 操作当前节点的子节点列表的事物ID(这种操作包含增加子节点,删除子节点)
cversion 当前节点的子节点版本号
dataVersion 当前节点的数据版本号
aclVersion 当前节点的acl权限版本号
ephemeralowner 当前节点的如果是临时节点,该属性是临时节点的事物ID,0x0表示非临时节点
dataLength 当前节点的d的数据长度
numchildren 当前节点的子节点个数


d. 给节点/shaonaiyi设置值

set /shaonaiyi goodman

再获取节点/shaonaiyi的数据值

get /shaonaiyi


image.png


e. 创建三个/shaonaiyi节点的子节点(shao1shao2shao3

create /shaonaiyi/shao1 “shao1”

create /shaonaiyi/shao2 “”

create /shaonaiyi/shao3 “”


image.png


f. 创建一个不存在节点的子节点,会报错

create /shaonaiyi1/shao1 “”


image.png


此时可以一步一步来,先创建/shaonaiyi1

create /shaonaiyi1 “”

再创建/shaonaiyi1/shao1

create /shaonaiyi1/shao1 “”


image.png


g. 删除节点

delete /shaonaiyi1/shao1

发现里面已经没有shao1节点了

ls /shaonaiyi1


image.png


再将shao1子节点创建回来

create /shaonaiyi1/shao1 “”

删除shaonaiyi1节点,发现无法删除:

delete /shaonaiyi1


image.png


此时应该递归存在子节点的父节点:

rmr /shaonaiyi1

此时查看/shaonaiyi1也已经不在了

ls /


image.png


i. 退出zkCli.sh

quit

2. zkCli.sh进阶操作

a. 创建临时节点(-e)

create -e /shaonaiyi/e-shao “”

查看节点:

ls /shaonaiyi


image.png


b. 创建顺序节点(-s)

create -s /shaonaiyi/s-shao “”

查看节点:

ls /shaonaiyi

发现名字并不是s-shao,而是自动加上了后缀。


image.png


此时,再创建几个同名的节点

create -s /shaonaiyi/s-shao “”

create -s /shaonaiyi/s-shao “”

create -s /shaonaiyi/s-shao “”

再查看一下,发现节点后缀自动累加:

ls /shaonaiyi


image.png


c. 创建临时顺序节点 (-e -s)

create -e -s /shaonaiyi/es-shao “”

ls /shaonaiyi


image.png


d. 退出客户端,再重新登录,发现创建的临时节点已经不存在(刚刚的临时节点有e-shaoes-shao0000000009

ls /shaonaiyi


image.png


0xFF 总结


思考1:连接时尝试只连接slave1或者slave2,看是否一样可以对整个Zookeeper进行操作?

思考2:启动Zookeeper时,尝试按下面顺序启动,查看每次启动集群的角色情况,再尝试一遍,观察每次执行的结果一不一样:

启动与查看角色语句如下:

zkServer.sh start

zkServer.sh status

情形一:master、slave1、slave2

情形二:slave1、master、slave2

情形三:slave2、slave1、master

结果如下,请思考选举出来的leader有什么原则:

情形一:


image.png


情形二:

image.png


情形三:

image.png

相关实践学习
基于MSE实现微服务的全链路灰度
通过本场景的实验操作,您将了解并实现在线业务的微服务全链路灰度能力。
相关文章
|
5月前
|
存储 API Apache
【zookeeper 第三篇章】客户端 API
本文介绍了Apache ZooKeeper客户端的一些常用命令及其用法。首先,`create`命令用于创建不同类型的节点并为其赋值,如持久化节点、有序节点及临时节点等。通过示例展示了如何创建这些节点,并演示了创建过程中的输出结果。其次,`ls`命令用于列出指定路径下的所有子节点。接着,`set`命令用于更新节点中的数据,可以指定版本号实现乐观锁机制。
40 0
|
3月前
|
分布式计算 Java Hadoop
Hadoop-30 ZooKeeper集群 JavaAPI 客户端 POM Java操作ZK 监听节点 监听数据变化 创建节点 删除节点
Hadoop-30 ZooKeeper集群 JavaAPI 客户端 POM Java操作ZK 监听节点 监听数据变化 创建节点 删除节点
90 1
|
4月前
|
负载均衡 API 数据安全/隐私保护
Zookeeper的客户端-原生的API
Zookeeper的客户端-原生的API
|
6月前
|
API
【想进大厂还不会阅读源码】ShenYu源码-替换ZooKeeper客户端
ShenYu源码阅读。相信大家碰到源码时经常无从下手,不知道从哪开始阅读😭。我认为有一种办法可以解决大家的困扰!至此,我们发现自己开始从大量堆砌的源码中脱离开来😀。ShenYu是一个异步的,高性能的,跨语言的,响应式的 API 网关。
|
8月前
|
Java API Apache
ZooKeeper【基础 03】Java 客户端 Apache Curator 基础 API 使用举例(含源代码)
【4月更文挑战第11天】ZooKeeper【基础 03】Java 客户端 Apache Curator 基础 API 使用举例(含源代码)
82 11
|
8月前
|
存储
ZooKeeper客户端常用命令
ZooKeeper客户端常用命令
80 1
Zookeeper学习---2、客户端API操作、客户端向服务端写数据流程
Zookeeper学习---2、客户端API操作、客户端向服务端写数据流程
Zookeeper学习---2、客户端API操作、客户端向服务端写数据流程
|
8月前
|
存储 设计模式 算法
深入浅出Zookeeper源码(六):客户端的请求在服务器中经历了什么
当我们向zk发出一个数据更新请求时,这个请求的处理流程是什么样的?zk又是使用了什么共识算法来保证一致性呢?带着这些问题,我们进入今天的正文。
194 1
深入浅出Zookeeper源码(六):客户端的请求在服务器中经历了什么
|
8月前
|
Apache
Apache ZooKeeper - 构建ZooKeeper源码环境及StandAlone模式下的服务端和客户端启动
Apache ZooKeeper - 构建ZooKeeper源码环境及StandAlone模式下的服务端和客户端启动
151 2
|
8月前
|
安全 Java API
Zookeeper(持续更新) VIP-02 Zookeeper客户端使用与集群特性
2,/usr/local/data/zookeeper-3,/usr/local/data/zookeeper-4,在每个目录中创建文件。创建四个文件夹/usr/local/data/zookeeper-1,/usr/local/data/zookeeper-Follower:只能处理读请求,同时作为 Leader的候选节点,即如果Leader宕机,Follower节点。己对外提供服务的起始状态。E: 角色, 默认是 participant,即参与过半机制的角色,选举,事务请求过半提交,还有一个是。
111 0

热门文章

最新文章