ZooKeeper客户端常用命令

本文涉及的产品
服务治理 MSE Sentinel/OpenSergo,Agent数量 不受限
简介: ZooKeeper客户端常用命令

连接客户端

ZK的客户端位于安装目录的bin目录下。ZK的客户端为zkCli.sh,进入bin目录后执行./zkCli.sh即可启动客户端。

zkCli.sh还可以携带一些参数:

./zkCli.sh –timeout 1000 –r –server ip:port
-timeout 1000:设置超时时间,单位毫秒
-r:设置为只读权限,不加-r则为可读可写权限
-server ip:port:指定连接的ZK服务器以及端口号

如果就是连接本机的ZK服务,那么可以在bin目录下直接输入:./zkCli.sh,连接成功:

增加节点

首先了解一下ZK的节点类型,ZNode共有四种形式的目录节点:

  1. PERSISTENT:持久节点,客户端与ZK断开连接后,该节点依旧存在。
  2. PERSISTENT_SEQUENTIAL:持久顺序节点,客户端与ZK断开连接后,该节点依旧存在,只是ZK给该节点名称进行顺序编号。
  3. EPHEMERAL:临时节点,客户端与ZK断开连接后,该节点被删除。
  4. EPHEMERAL_SEQUENTIAL:临时顺序节点,客户端与ZK断开连接后,该节点被删除,只是ZK给该节点名称进行顺序编号。

使用ZK客户端连接到服务之后,可以使用以下命令创建节点:

create [-s] [-e] path data [acl]
-s:创建顺序节点,不加此参数则默认创建非顺序节点
-e:创建临时节点,不加此参数则默认创建持久节点
alc:权限相关修饰符

删除节点

删除ZK节点有两种方式:

# 删除指定节点,当节点下包含子节点则无法删除。
delete path [version]
version : 版本号,和set命令一样中的意思一样,版本相同才能删除成功
# 递归删除节点
rmr path

查看节点状态

stat path [watch]
watch:一次性监听器

每一个ZK节点都有以下状态属性:

列出目录下节点

列出节点也有以下两种方法:

# 单纯列出节点
ls path [watch]
watch:一次性监听器
# 列出节点同时显示当前节点的状态,相当于 ls + stat
ls2 path [watch]
watch:一次性监听器

设置节点数据

set path data [version]
version:数据版本,对应stat的dataVersion属性,默认自动递增

查询节点数据

get path [watch]
watch:一次性监听器

节点配额相关

为节点配额也就是可以约束节点所能创建子节点的数量以及节点本身所能存储的数据最大长度。但是当超过限制的时候也仅仅是在ZK的日志打印警告信息(默认输出在bin/zookeeper.out)。

# 设置配额
setquota -n | -b val path
-n:val设置子节点个数
-b:val设置节点的数据长度
# 查看配额
listquota path
# 删除配额
delquota -n | -b path

查看历史以及重复执行

# 用于列出最近的命令历史
history
[zk: localhost:2181(CONNECTED) 1] history
0 - help
1 - get /
2 - stat /
3 - ls /
4 - ls2 /
5 - listquota /
6 - history
# 重新执行历史命令
redo 顺序ID


相关实践学习
基于MSE实现微服务的全链路灰度
通过本场景的实验操作,您将了解并实现在线业务的微服务全链路灰度能力。
相关文章
|
24天前
|
存储 Shell 数据安全/隐私保护
ZooKeeper【基础知识 04】控制权限ACL(原生的 Shell 命令)
【4月更文挑战第11天】ZooKeeper【基础知识 04】控制权限ACL(原生的 Shell 命令)
27 7
|
24天前
|
Java API Apache
ZooKeeper【基础 03】Java 客户端 Apache Curator 基础 API 使用举例(含源代码)
【4月更文挑战第11天】ZooKeeper【基础 03】Java 客户端 Apache Curator 基础 API 使用举例(含源代码)
33 11
|
25天前
|
Shell
ZooKeeper【基础 02】zookeeper-3.6.0 常用Shell命令(节点增删改查+监听器+四字指令)
【4月更文挑战第10天】ZooKeeper【基础 02】zookeeper-3.6.0 常用Shell命令(节点增删改查+监听器+四字指令)
25 0
|
4月前
|
安全 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,即参与过半机制的角色,选举,事务请求过半提交,还有一个是。
|
4月前
Zookeeper的客户端的命令
Zookeeper的客户端的命令
21 0
|
4月前
|
缓存 Java API
Zookeeper(持续更新) VIP-02 Zookeeper客户端使用与集群特性
Curator 是一套由netflix 公司开源的,Java 语言编程的 ZooKeeper 客户端框架,Curator项目是现在ZooKeeper 客户端中使用最多,对ZooKeeper 版本支持最好的第三方客户端,并推荐使用,Curator 把我们平时常用的很多 ZooKeeper 服务开发功能做了封装,例如 Leader 选举、分布式计数器、分布式锁。这就减少了技术人员在使用 ZooKeeper 时的大部分底层细节开发工作。
|
4月前
|
Apache
Apache ZooKeeper - 构建ZooKeeper源码环境及StandAlone模式下的服务端和客户端启动
Apache ZooKeeper - 构建ZooKeeper源码环境及StandAlone模式下的服务端和客户端启动
47 2
|
5月前
|
存储 设计模式 算法
深入浅出Zookeeper源码(六):客户端的请求在服务器中经历了什么
当我们向zk发出一个数据更新请求时,这个请求的处理流程是什么样的?zk又是使用了什么共识算法来保证一致性呢?带着这些问题,我们进入今天的正文。
137 1
深入浅出Zookeeper源码(六):客户端的请求在服务器中经历了什么
|
5月前
|
存储 设计模式 算法
深入浅出Zookeeper源码(六):客户端的请求在服务器中经历了什么
当我们向zk发出一个数据更新请求时,这个请求的处理流程是什么样的?zk又是使用了什么共识算法来保证一致性呢?带着这些问题,我们进入今天的正文。
117 0
|
1月前
|
监控 负载均衡 Cloud Native
ZooKeeper分布式协调服务详解:面试经验与必备知识点解析
【4月更文挑战第9天】本文深入剖析ZooKeeper分布式协调服务原理,涵盖核心概念如Server、Client、ZNode、ACL、Watcher,以及ZAB协议在一致性、会话管理、Leader选举中的作用。讨论ZooKeeper数据模型、操作、会话管理、集群部署与管理、性能调优和监控。同时,文章探讨了ZooKeeper在分布式锁、队列、服务注册与发现等场景的应用,并在面试方面分析了与其它服务的区别、实战挑战及解决方案。附带Java客户端实现分布式锁的代码示例,助力提升面试表现。
125 2
http://www.vxiaotou.com