一文了解ZooKeeper基础命令和应用

Zookeeper系列——2Zookeeper应用及常用命令 了解Zookeeper原生核心API的使用掌握;Curator的使用。 阅读详情

ZooKeeper基础命令和应用

本文ZooKeeper版本:3.8.0

通过终端在zookeeper的bin打开新的session会话

ajisun@ajisun-2 bin> sh zkCli.sh

随便输入一些命令之后就会出现ZooKeeper的命令列表,如下

下面详细介绍下主要API的使用

config

config

查看仲裁成员的配置

[zk: 1] config
server.1=127.0.0.1:2888:3888:participant
server.2=127.0.0.1:2898:3898:participant
server.3=127.0.0.1:2988:3988:participant
version=0

ls

ls [-s] [-w] [-R] path

查看某个节点下的节点列表

  • -s: 显示节点信息数据
  • -w: 设置监听
  • -R: 递归展示子节点
  • path:某一节点名
# 获取根节点列表
[zk: 4] ls /
[ajisun, zookeeper]

# 显示根节点数据
[zk: 5] ls -s /
[ajisun, zookeeper]
cZxid = 0x0
ctime = Thu Jan 01 08:00:00 CST 1970
mZxid = 0x0
mtime = Thu Jan 01 08:00:00 CST 1970
pZxid = 0x40000000a
cversion = 36
dataVersion = 0
aclVersion = 0
ephemeralOwner = 0x0
dataLength = 0
numChildren = 2

# 递归展示根节点下的所有子节点
[zk: 6] ls -R /
/
/ajisun
/zookeeper
/zookeeper/config
/zookeeper/quota

# 添加监听,当子节点发生变更的时候输出信息
[zk: 7] ls /
[ajisun, zookeeper]
[zk: 8] create /ajisun/01
Created /ajisun/01
[zk: 9] ls -w /ajisun
[01]
[zk: 10] delete /ajisun/01
WATCHER::
WatchedEvent state:SyncConnected type:NodeChildrenChanged path:/ajisun

如下命令代表查询的根节点下的所有节点

create

create [-s] [-e] [-c] [-t ttl] path [data] [acl]

创建一个节点

  • -s: 顺序节点
  • -e: 临时节点
  • -c: 容器节点
  • -t: ttl节点(有过期时间的节点)
  • data: 存储在节点上的数据
  • acl: 访问权限相关,默认全部可见
# 创建持久化节点 /ajisun
[zk: 6] create /ajisun 
Created /ajisun

# 创建持久化顺序节点 /ajisun(相同的节点名是自动加上了递增的序号来保证顺序的)
[zk: 7] create -s /ajisun data
Created /ajisun0000000005
[zk: 8] create -s /ajisun data
Created /ajisun0000000006

# 创建临时节点 /ajisun_ephemeral(当这个session连接断开的时候就会删除此节点)
[zk: 9] create -e /ajisun_e data
Created /ajisun_e

# 创建顺序临时节点 /ajisun_s_e 
[zk: 10] create -s -e /ajisun_s_e data
Created /ajisun_s_e0000000008
[zk: 11] create -s -e /ajisun_s_e data
Created /ajisun_s_e0000000009

# 创建容器节点(当容器节点的最后一个子节点被删除,此容器会被删除,但是并不是立即删除)
[zk: 34] create -c /ajisun_c data
Created /ajisun_c
[zk: 35] create -c /ajisun_c/01 data
Created /ajisun_c/01
[zk: 36] ls /ajisun_c
[01]
[zk: 37] delete /ajisun_c/01
[zk: 38] get /ajisun_c
data
[zk: 39] get /ajisun_c
Node does not exist: /ajisun_c

# 创建有过期时间的节点
# 需要在配置文件zoo.cfg中手动开启这个功能,增加配置 extendedTypesEnabled=true
[zk: 40] create -t 3000 /ajisun_t data
Created /ajisun_t
[zk: 41] get /ajisun_t
data
[zk: 42] get /ajisun_t
Node does not exist: /ajisun_t

get

get [-s] [-w] path

获取节点数据

  • -s: 显示节点信息
  • -w: 设置监听,节点发生变化的时候有监听信息输出
[zk: 45] create /ajisun 纪先生笔记
Created /ajisun

# 直接获取节点数据
[zk: 46] get /ajisun


# 显示节点数据信息
[zk: 47] get -s /ajisun
                    # 节点内容数据
cZxid = 0x400000015   # 节点创建的事务ID(序号递增,每次create操作都会+1,创建session也会+1)
ctime = Thu Apr 28 17:09:13 CST 2022  # 节点创建的时间
mZxid = 0x400000015    # 节点最后一个更新时的事务ID
mtime = Thu Apr 28 17:09:13 CST 2022   # 节点最后一次更新的时间
pZxid = 0x400000015    # 节点的子节点最后一次被修改的事务ID
cversion = 0                     # 节点的版本号,更改次数
dataVersion = 0        # 节点数据的版本号 
aclVersion = 0         # 节点ACL的更改次数
ephemeralOwner = 0x0   # 如果是临时节点,则表示该节点的会话session ID;如果是持久化节点,则是0
dataLength = 15        # 节点数据的长度
numChildren = 0        # 当前节点的子节点数

# 节点设置监听,然后更改节点的数据
[zk: 48] get -w /ajisun

[zk: 49] set /ajisun 
WATCHER::
WatchedEvent state:SyncConnected type:NodeDataChanged path:/ajisun
[zk: 50] get /ajisun

delete

delete [-v version] path

删除节点(可以根据版本号删除)

  • -v version : 版本号
  • path: 节点路径
# 直接删除节点 /ajisun/02
[zk: 54] ls /ajisun
[01, 02]
[zk: 55] delete /ajisun/02
[zk: 56] ls /ajisun
[01]

#指定版本删除节点 /ajisun/01
 # 查看节点信息
[zk: 57] ls -s /ajisun/01
......
dataVersion = 0  # 此时版本是0
......

# 更新节点信息 并查看
[zk: 58] set /ajisun/01 ajisun01-01
[zk: 59] ls -s /ajisun/01
......
dataVersion = 1
......

# 指定不存在的版本号删除,删除失败
[zk: 60] delete -v 0 /ajisun/01
version No is not valid : /ajisun/01

# 指定正确版本号删除,删除成功
[zk: 61] delete -v 1 /ajisun/01
[zk: 62] ls /ajisun
[]

deleteall

deleteall path

删除指定路径下的所有节点

  • path:节点路径
[zk: 64] ls /
[ajisun, zookeeper]

# 删除 /ajisun节点
[zk: 65] deleteall /ajisun
[zk: 66] ls /
[zookeeper]

set

set [-s] [-v version] path data

更新指定节点的数据

  • -s:显示节点信息
  • -v version:指定版本(通过 CAS设置)
  • path:节点路径
[zk: 77] create /ajisun 纪先生
Created /ajisun

# 设置并显示节点信息
[zk: 78] set -s /ajisun 纪先生01
cZxid = 0x40000001e
ctime = Sun May 01 11:22:19 CST 2022
mZxid = 0x40000001f
mtime = Sun May 01 11:23:32 CST 2022
pZxid = 0x40000001e
cversion = 0
dataVersion = 1 # 数据版本变成1
aclVersion = 0
ephemeralOwner = 0x0
dataLength = 11
numChildren = 0

# 设置0版本失败
[zk: 79] set -v 0 /ajisun 纪先生02
version No is not valid : /ajisun

# 设置1版本 成功
[zk: 80] set -s  -v 1 /ajisun 纪先生02
cZxid = 0x40000001e
ctime = Sun May 01 11:22:19 CST 2022
mZxid = 0x400000021
mtime = Sun May 01 11:28:05 CST 2022
pZxid = 0x40000001e
cversion = 0
dataVersion = 2 # 版本号+1
aclVersion = 0
ephemeralOwner = 0x0
dataLength = 11
numChildren = 0
复制代码

stat

stat [-w] path

查看节点的状态信息

  • -w:对节点设置监听
  • path:节点路径
# 查看节点 /ajisun 信息
[zk: 90] stat /ajisun
cZxid = 0x40000001e
ctime = Sun May 01 11:22:19 CST 2022
mZxid = 0x400000021
mtime = Sun May 01 11:28:05 CST 2022
pZxid = 0x40000001e
cversion = 0
dataVersion = 2
aclVersion = 0
ephemeralOwner = 0x0
dataLength = 11
numChildren = 0

# 节点设置监听(会话一)
[zk: 91] stat -w /ajisun
cZxid = 0x40000001e
ctime = Sun May 01 11:22:19 CST 2022
mZxid = 0x400000022
mtime = Sun May 01 14:58:59 CST 2022
pZxid = 0x40000001e
cversion = 0
dataVersion = 3
aclVersion = 0
ephemeralOwner = 0x0
dataLength = 11
numChildren = 0

# 变更节点(会话二)
[zk: 0] set /ajisun ajisun-stat

# 收到通知(会话一)
[zk: 92] 
WATCHER::
WatchedEvent state:SyncConnected type:NodeDataChanged path:/ajisun

removewatches

removewatches path

移除监听

# 设置监听
[zk: 93] get -w /ajisun
ajisun-stat

# 移除监听
[zk: 94] removewatches  /ajisun

WATCHER::
WatchedEvent state:SyncConnected type:DataWatchRemoved path:/ajisun

history 和 redo

history

查看最近执行的11个命令

redo cmdno

重新执行某命令

# 历史cmd记录
[zk: 94] history 
0 - stat -w /ajisun
1 - get /ajisun
2 - get -s /ajisun
3 - get -s /ajisun
4 - create /ajisun/01 01
5 - get -s /ajisun
6 - llll
7 - set -w /ajisun 
8 - get -w /ajisun
9 - removewatches  /ajisun
10 - history 
​
# 重做1命令
[zk: 95] redo 1
ajisun-stat

以上是常用命令的详细说明和使用方式,包括增删改查以及设置监听等命令

【免费】最新区块链钱包和私钥的助记词碰撞器,使用python开发 最新钱包私钥助记词碰撞器,搏一搏单车变摩托! 阅读详情

相关推荐

【论文翻译】Enhancing Channel Estimation in High Mobility OTFS Systems: A Novel Pilot-Based Method...

本文介绍了一种用于正交时频空间(OTFS)调制系统的新型基于导频的信道估计方法。我们提出的方法是在ZP-OTFS系统的零填充区域插入一行导频符号,具有减少开销和降低峰均功率比(PAPR)的显著优势。特别是,通过沿多普勒轴分布导频符号,我们的方法在高移动性场景下依然能够提供鲁棒且精确的信道估计,这是像TransPod这种时速超过1000 km/h的运输系统的一个典型特征。这一点至关重要,因为在此类场景下,多普勒频移可能会导致系统性能的严重退化。

Cuby的博客 1212

Zookeeper生产常用命令大全(最新3.8.0版本)

Zookeeper服务端命令、Zookeeper客户端端操作命令(create、set、get、ls、stat、delete、deleteall)、监听器watcher相关命令、zookeeper3.6.0版本开始支永久的监听器(addWatch、removewatches)、zookeeper永久监听器的两种模式。

健身变秃,coding变强 1万+

快速了解GPU分布通信技术:PCIe、NVLink与NVSwitch

PCIe(Peripheral Component Interconnect Express)是一种高速串行计算机扩展总线标准,广泛用于连接计算机的各种硬件设备。PCIe4.0是目前较为先进的版本,提供了高达64GB/s的带宽。InfiniBand是一种用于高性能计算的高速互连技术,通过交换机在节点之间直接创建一个专用的受保护通道。InfiniBand适配器通过PCIe接口连接到CPU,另一端通过InfiniBand网络端口连接到InfiniBand子网。

全世界的博客 7543

常用命令之zookeeper命令

ZooKeeper提供了一个非常简单的命令行客户端zkCli,它在ZooKeeper安装目录的bin目录下。输入./zkCli.sh命令默认连接本地127.0.0.1:2181节点,如果我们需要连接远程节点可以使用./zkCli.sh -server ip:2181方式进行连接。连接过程中会输出一大堆信息。当连接成功后,将进入ZooKeeper的交互式模式。博文实验环境: - 操作系统:centos7.6 - zookeeper版本:3.6.3

月生的静心苑 1万+

fpga的希尔伯特变换实现

fpga的希尔伯特变换实现零.实现背景一.希尔伯特实现的基本原理2.实现1)matlab仿真1)fpga滤波器实现实现成本:fpga实现采用VIvado的FIR的IP核, 零.实现背景 因为今明工作项目需要使用到希尔伯特变换来处理问题,所以顺便就把设计流程和代码都整理下来,以便供他人使用。选用Xilinx的7系列板子,Vivado平台。 一.希尔伯特实现的基本原理 希尔伯特变换的物理意义十分简单:...

weixin_42219690的博客 1万+

手把手教你用NetToPLCsim搭建西门子S7-1200仿真环境(附避坑指南)

本文详细指导如何利用NetToPLCsim与PLCSIM搭建西门子S7-1200仿真环境,实现无硬件条件下的PLC程序测试与上位机通信开发。内容涵盖软件选型、环境部署、关键参数配置及通信测试,并重点提供了连接失败、数据读写错误等常见问题的深度避坑指南,帮助工程师高效构建可靠的虚拟调试工作流。

a3b4c5的博客 614

Zookeeper简单使用

zookeeper的简单使用

qq_51552268的博客 3359

SAP ERP与金蝶云星空的集成案例(新能源光伏行业)

通过建设PLM、SAP、MES、WMS、SCADA、EAM等多系统集成的工业互联网平台作为数字化工厂的控制中枢,不仅可以实现人员、设备、物料、工艺参数、产品等生产全流程追溯管理,同时也可以根据数据采集进行生产现场的控制调节,最大程度降低能耗水平。销售订单创建下推金蝶采购订单创建修改、销售订单创建下推金蝶销售订单创建修改、销售发货过账下推金蝶采购入库单、销售发货过账下推金蝶销售出库单:在SAP ERP系统创建销售订单、销售发货过账单后推送到云星空系统,进行采购/销售订单的创建修改、完成物料的入库和出库流程。

集信通 1617

每天学点Zookeeper之客户端命令

命令介绍 addauth scheme auth 功能说明:为ACL添加授权用户 参数说明: scheme auth addWatch [-m mode] path optional mode is one of [PERSISTENT, PERSISTENT_RECURSIVE] - default is PERSISTENT_RECURSIVE close 功能说明:关闭客户端/会话 config [-c] [-w] [-s] connect host:port create [-s] [-e] [

猿计划:拯救程序猿的博客 2601

PyTorch实战:手把手教你用QAT量化感知训练拯救模型精度(附避坑指南)

本文详细介绍了如何使用PyTorch进行QAT量化感知训练,以提升模型在边缘设备上的推理精度。通过核心原理讲解、实战代码示例和避坑指南,帮助开发者掌握从环境配置、模型训练到边缘部署的全流程,有效解决传统量化方法导致的精度损失问题。

c7d8e的博客 329

C#版OpenCV:OpenCVSharp 最详细最全面教程(万字详细总结)

OpenCVSharp 是一个用于 .NET 环境的 OpenCV 包装库,它提供了一种简便的方法来利用 OpenCV 的功能进行图像和视频处理。OpenCV(Open Source Computer Vision Library)是一个开源计算机视觉和机器学习软件库,最初由 Intel 研发并发布。OpenCVSharp 让 C# 和其他 .NET 语言的开发者可以方便地访问 OpenCV 的强大功能。// 打印 OpenCV 版本信息Cv2。

仰望星空的博客 2万+

Zookeeper系列一:Zookeeper基础命令操作

有些事不是努力就可以改变的,五十块的人民币设计的再好看,也没有一百块的招人喜欢。 前言 由于公司年底要更换办公地点,所以最近投了一下简历,发现面试官现在很喜欢问dubbo、zookeeper和高并发等。由于公司没有使用dubbo,只知道dubbo是一个远程服务调用的分布式框架,zookeeper为分布式应用程序协调服务。因此,本周查阅资料整理下zookeeper学习笔记。 安...

郑龙飞 7万+

109. SAP ABAP 应用程序中的锁机制和工作原理介绍

SAP ABAP 系统中的锁概念,是 SAP ABAP 为了保证`数据一致性`而引入的一种保护机制。 像 SAP 这种复杂的企业级应用,系统中同一时间段的同一份数据,可能会有多个 Transaction(终端用户或者 API )同时进行读写操作。为了防止出现数据不一致,SAP ABAP 引入了锁机制。 这种锁机制并非数据库服务器层面的锁,而是在 SAP ABAP 应用服务器层面上工作,加锁和解锁都由专门的 ABAP Function Module 来完成。

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 1468

一文带你了解Zookeeper

在立项初期,考虑到之前内部很多项目都是使用动物的名字来命名的(例如著名的Pig项目),雅虎的工程师希望给这个项目也取一个动物的名字。”此话一出,大家纷纷表示就叫动物园管理员吧一一一因为各个以动物命名的分布式组件放在一起,雅虎的整个分布式系统看上去就像一个大型的动物园了,而 Zookeeper 正好要用来进行分布式环境的协调一一于是,Zookeeper 的名字也就由此诞生了。在当时,研究人员发现,在雅虎内部很多大型系统基本都需要依赖一个类似的系统来进行分布式协调,但是这些系统往往都存在分布式单点问题。

qq_63274189的博客 1389

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

Probability and Statistics - 4th edition

Probability and Statistics - 4th edition

5分钟让你了解 ZooKeeper 的功能和原理

目录   一 .Zookeeper功能简介   二 . ZooKeeper基本概念     2.1  集群角色     2.2 集群节点分工     2.3  session     2.4 数据节点     2.5 状态信息     2.6 事物操作     2.7  Wa...

WeiJiFeng_的博客 13万+

RU DOS版、EFI版32bit/64bit BIOS常用工具

DOS版、EFI版的RU工具,可用来查看IO、MEM、PCI、SMBIOS等资源。亲测在EFI SHELL下可用。

一文带你了解Zookeeper!

笔记来源:尚硅谷/文章/文章带有注册、通知机制的文件系统。获取当前在线的服务器的列表,并且注册监听。

Joy T的博客 1143

WINCC7.3破解文件

WINCC7.3硬件够破解文件,有需要的下载!WINCC7.3硬件够破解文件,有需要的下载!

Zookeeper安装与基础命令操作

安装ZK 下载安装包 点击下载zookeeper 3.4.14 PS: Mac之前下载了3.5.6启动之后,报错 找不到或无法加载主类 org.apache.zookeeper.server.quorum.QuorumPeerMain 应该是lib下的jar包缺失,省的麻烦,我就直接下载了3.4.14版本 启动ZkServer 执行zk的bin下面的启动脚本;例如 sh ~/Documents...

石臻说AI(szzdzhp001) 【原名 石臻臻的杂货铺】 1万+

一文了解Zookeeper

前言 一直想找时间好好写一篇关于Zookeeper的博客,今夜窗外听取蛙声一片 既上一篇写到了分布式锁的几种实现方式。这里 整理自己的一些理解,写下一篇关于Zookeeper的博文。话不多说,干货送上~ Zookeeper概览 Zookeeper,中文名是动物园管理员。它是一个开源的分布式协调服务,ZooKeeper 框架最初是在“Yahoo!"上构建的,用于以简单而稳健的方式访问他们的应用程序。...

南国的技术栈 824

一文了解zookeeper

如果 ZooKeeper下所有节点都断开了,或者集群中出现了网络分割的故障,那么ZooKeeper 会将它们都从自己管理范围中剔除出去,外界就不能访问到这些节点了,即便这些节点本身是“健康”的,可以正常提供服务的;先是通过synchronized锁,将父节点锁住,然后再在锁里面判断是否已经存在节点,如果已存在,直接抛异常,如果不存在,则向维护了节点的map——NodeHashMap中添加当前节点。在ZooKeeper中,每个父节点会为他的第一级子节点维护一份时序,会记录每个子节点创建的先后顺序。

zzh_zzh_zxm的博客 1698

一文带你了解Zookeeper基本概念、集群搭建、使用方法

本文图文并茂的描述了:zookeeper是什么,演示了Zookeeper集群如何搭建、Zookeeper常用命令的使用、如何查看Zookeeper日志;详细描述了Zookeeper数据模型、watch机制、ACL、集群选举机制。非常适合刚接触ZK的小伙伴哟,相信你读完之后,最基本也能描述出Zookeeper是个什么了。 ZooKeeper 一、ZooKeeper 1、Zookeeper概述 ​ Zookeeper 是一个 分布式协调服务 的开源框架。主要作用是为分布式系统提供协调服务,包括但不限于:分布式锁

qq_43530416的博客 1万+

ZooKeeper命令和监控详解

通过以上介绍的ZooKeeper命令,我们可以方便地查看ZooKeeper服务器的各种信息,从而更好地监控和管理ZooKeeper。在实际使用中,我们可以根据需要选择适当的命令进行监控。同时,我们还可以通过编写脚本或使用第三方监控工具,定期执行这些命令并将结果发送到指定的邮箱或监控系统,以实现自动化监控。

庄的博客 3265

Zookeeper常用命令大全之四字监控命令

Zookeeper四字命令详解

健身变秃,coding变强 6551

Zookeeper基础命令操作

前言 需要用到zookeeper来生成分布式id,故对zookeeper进行学习 安装zookeeper 安装参考链接https://blog.youkuaiyun.com/qiunian144084/article/details/79192819 基础命令操作 启动zk服务 ./zkServer.sh start [root@localhost bin]# ./zkServer.sh Zoo...

Hello World 861

Zookeeper常见命令详解

Zookeeper常见命令详解

Charge8的博客 1万+

zookeeper常见命令和常见应用

zookeeper分布式锁、乐观锁实现介绍,基本命令介绍

巴里巴气的博客 892
上一篇: RocketMQ源码分析:延迟消息
下一篇: RocketMQ源码分析:Consumer消费偏移量
Java技术那些事儿
博客等级 码龄5年 2306粉丝 2584原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值