当前位置: 首页 > news >正文

ZooKeeper中节点的操作命令(查看、创建、删除节点)

天行健,君子以自强不息;地势坤,君子以厚德载物。


每个人都有惰性,但不断学习是好好生活的根本,共勉!


文章均为学习整理笔记,分享记录为主,如有错误请指正,共同学习进步。

文章目录

  • 1. help帮助命令
  • 2. ls查看节点信息
    • 2.1 查看根节点信息
    • 2.2 查看根节点的详细信息
    • 2.3 查看根节点的名称
    • 2.4 查看根节点的所有节点及子节点
  • 3. get获取节点信息
  • 4. create创建节点
  • 5. create -e创建临时节点
  • 6. create -s创建顺序编号节点
  • 7. delete删除节点(空节点)
  • 8. deleteall删除节点(非空节点)
  • 9. stat查看节点状态


ZooKeeper相关文章参考:
ZooKeeper下载、安装、配置和使用
ZooKeeper配置文件zoo.cfg参数详解

启动server服务以及cli客户端
在cli客户端窗口中操作以下命令

1. help帮助命令

输入help可呼出所有相关命令
可根据需要找到指定的命令,然后输入找到的命令,就可继续往下查看对应命令的使用
在这里插入图片描述
如ls命令来说,继续输入ls则会看到ls命令的详细用法
在这里插入图片描述

2. ls查看节点信息

语法:

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

-s表示查看详细信息,可省略
-w表示只看节点名称,可省略
-R表示查看根路径的所有节点及子节点,可省略
path表示节点路径,可以是根节点/,也可以是子节点路径如/a,或者/a/b/c

2.1 查看根节点信息

ls /

在这里插入图片描述

2.2 查看根节点的详细信息

ls -s /

在这里插入图片描述

参数详细描述如下:
[zookeeper]
表示子节点名称数组如果多个则在中括号中以逗号隔开
接下来是节点的状态信息,也称为stat结构体

cZxid = 0x0
表示创建znode的事务的zxid(ZooKeeper Transaction ID)
事务ID是ZooKeeper每次更新操作/事务操作分配一个全局唯一的id,表示zxid,值越小表示越先执行
0x0表示十六进制数0

ctime = Thu Jan 01 08:00:00 CST 1970
表示创建时间

mZxid = 0x0
表示最后一次更新的zxid

mtime = Thu Jan 01 08:00:00 CST 1970
表示最后一次更新的时间

pZxid = 0x0
表示最后更新的子节点的zxid

cversion = -1
表示子节点的变化号,即子节点被修改的次数,-1表示未被修改过

dataVersion = 0
表示当前节点的变化号,0表示未被修改过

aclVersion = 0
表示访问控制列表的变化号,access control list

ephemeralOwner = 0x0
表示如果临时节点,表示当前节点的拥有者的sessionId

dataLength = 0
表示数据长度

numChildren = 1
表示子节点的数量

2.3 查看根节点的名称

ls -w /

在这里插入图片描述

2.4 查看根节点的所有节点及子节点

ls -R /

在这里插入图片描述

3. get获取节点信息

语法:

get [-s] [-w] path

如获取根节点信息

get -s /

在这里插入图片描述

4. create创建节点

语法:

create 节点名称 节点内容

创建节点,如果节点内容含有空格则需要将其用双引号括起来
如创建名为a1的节点,内容为a

create /a1 a

然后获取子节点a1的信息,看到数据长度dataLengtha的长度1
在这里插入图片描述
创建子节点a2内容为aa bb cc,加双引号"",不加会报错

create /a2 "aa bb cc"

使用get命令查看数据长度dataLength8aa bb cc的长度,包含了空格在内
在这里插入图片描述

5. create -e创建临时节点

语法:

create -e 节点名称 节点内容

创建临时节点,当连接断开后,临时节点会被自动删除

如下创建临时节点a3内容为aaa

create -e /a3 aaa

然后查看所有节点列表

ls -s /

在这里插入图片描述
此时子节点a3已经创建好
关闭服务重启客户端,在zkCli的窗口按快捷键Ctrl+C关闭服务,zkCli.cmd回车启动
在这里插入图片描述
再次查看根节点所有节点数据

ls -s /

在这里插入图片描述
临时节点a3经没了

6. create -s创建顺序编号节点

语法:

create -s 节点路径 节点内容

创建顺序编号节点,即带序号的节点,序号的规则为新建节点的同级节点的数量的排序,从0开始,且包括临时节点和被删除的节点(即被删除后的节点也会算作序号)
如创建顺序节点/a4 aaaa

create -s /a4 aaaa

此时看到新建节点的名称变为a40000000003

然后查看根节点的所有节点数据

ls -s /

在这里插入图片描述

zookeeper节点不算在其中
因为同级的节点数为a1a2a3(临时节点,重启后已经没了)共三个节点
依次排序为0-1-2
a4的序号为a4加上分配的序号0000000003

顺序编号节点的特点如下:

  • 顺序编号节点会紧跟在节点名称后面,节点最终名称为节点名+序号,如/a40000000003
  • 顺序编号是一个递增的计数器
  • 顺序编号是由父节点维护,从已有的子节点个数开始(包括可临时节点和被删除的节点)
  • 如果子节点为空,则从0000000000开始,依次递增1
  • 在分布式系统中,顺序编号可用于为所有事件进行全局排序,客户端可根据序号推断事件的顺序

7. delete删除节点(空节点)

语法:

delete 节点路径

注:delete删除节点只针对于空节点,非空节点(其中含有子节点)delete删除不掉
先创建一些节点及子节点

create /a1/b1 b

在这里插入图片描述
查看根节点下的所有节点
在这里插入图片描述
如图可看到节点a1,a2,a40000000003,a5,a6,zookeeper
其中a1a2节点中含有子节点
我们先删除含有子节点的a1节点

delete /a1

报错,节点不是空的,即非空节点用delete删不掉
在这里插入图片描述
现在删不含子节点(也就是空节点)的节点a5

delete /a5

没报错,表示删除成功,然后查看所有节点看a5还在不在,已经不在了
在这里插入图片描述

8. deleteall删除节点(非空节点)

语法:

deleteall 节点路径

先查看非空节点a1中的子节点,确定它是含有子节点的非空节点

ls -s /a1

在这里插入图片描述
如图看到a1中含有b1,b2,b3三个子节点,说明它是一个非空节点
使用deleteall删除a1

deleteall /a1

在这里插入图片描述
然后查看根节点下的所有节点,发现a1节点已经没了

9. stat查看节点状态

查看节点状态,这个跟lsget的命令感觉一样

stat 节点路径

stat /

在这里插入图片描述


感谢阅读,祝君暴富!

相关文章:

ZooKeeper中节点的操作命令(查看、创建、删除节点)

天行健,君子以自强不息;地势坤,君子以厚德载物。 每个人都有惰性,但不断学习是好好生活的根本,共勉! 文章均为学习整理笔记,分享记录为主,如有错误请指正,共同学习进步。…...

el-table多选表格 实现默认选中 删除选中列表取消勾选等联动效果

实现效果如下&#xff1a; 代码如下&#xff1a; <template><div><el-tableref"multipleTable":data"tableData"tooltip-effect"dark"style"width: 100%"selection-change"handleSelectionChange"><…...

预安装win11的电脑怎么退回正版win10?

对于新购的笔记本 通常来讲预装的系统是全新安装的&#xff0c;是没有之前Windows10系统文件的&#xff0c;无法回退。 可以打开设置-----系统----恢复-----看下是否有该选项。 ------------------------------------------------------------------------------- 若是在上述…...

MATLAB——多层小波的重构

%% 学习目标&#xff1a;多层小波的重构 %% 程序1 clear all; close all; load noissin.mat; xnoissin; [C,L]wavedec(x,3,db1); %小波多层分解 ywaverec(C,L,db1); %重构&#xff0c;必须小波类型一致 emax(abs(x-y)) %重构的误差 %% 程序2 clear all;…...

解锁高效创作艺术!AI助力文章生成与精美插图搭配完美融合

在当今这个信息爆炸的时代&#xff0c;高效创作文章已经成为了一种必备的技能。然而&#xff0c;创作一篇高质量的文章并插入精美插图&#xff0c;往往需要耗费大量的时间和精力。现在&#xff0c;随着AI技术的发展&#xff0c;我们迎来了一个全新的文章创作时代——利用AI高效…...

✔ ★【备战实习(面经+项目+算法)】 10.29学习

✔ ★【备战实习&#xff08;面经项目算法&#xff09;】 坚持完成每天必做如何找到好工作1. 科学的学习方法&#xff08;专注&#xff01;效率&#xff01;记忆&#xff01;心流&#xff01;&#xff09;2. 每天认真完成必做项&#xff0c;踏实学习技术 认真完成每天必做&…...

微服务-Ribbon负载均衡

文章目录 负载均衡原理流程原理源码分析负载均衡流程 负载均衡策略饥饿加载总结 负载均衡原理 流程 原理 LoadBalanced 标记RestTemplate发起的http请求要被Ribbon进行拦截和处理 源码分析 ctrlshiftN搜索LoadBalancerInterceptor&#xff0c;进入。发现实现了ClientHttpRequ…...

UC3845BD1R2G一款专门针对离线和 DC-DC 转换器应用 高性能电流模式PWM控制器

UC3845BD1R2G为高性能固定频率电流模式控制器。专门针对离线和 DC-DC 转换器应用而设计&#xff0c;提供了外部部件极少的成本高效方案。这些集成电路具有振荡器、温度补偿参考、高增益误差放大器、电流传感比较器和高电流图腾柱输出&#xff0c;适用于驱动功率 MOSFET。还包括…...

vivo自研AI大模型即将问世,智能手机行业加速迈向AI时代

当前&#xff0c;以大模型为代表的人工智能技术已发展为新一轮科技革命和产业变革的重要驱动力量&#xff0c;被视作推动经济社会发展的关键增长极。 AI大模型潮起&#xff0c;千行百业走向百舸争流的AI创新应用期&#xff0c;前沿信息技术向手机、PC、车机等消费级终端加速渗…...

探索JavaScript事件流:DOM中的神奇旅程

&#x1f3ac; 江城开朗的豌豆&#xff1a;个人主页 &#x1f525; 个人专栏 :《 VUE 》 《 javaScript 》 ⛺️ 生活的理想&#xff0c;就是为了理想的生活 ! 目录 引言 1. 事件流的发展流程 1.1 传统的DOM0级事件 1.2 DOM2级事件和addEventListener方法 1.3 W3C DOM3级…...

听GPT 讲Rust源代码--library/std(8)

题图来自Why is Rust programming language so popular?[1] File: rust/library/std/src/sys/sgx/abi/reloc.rs 在Rust源代码中&#xff0c;sgx/abi/reloc.rs文件的作用是定义了针对Intel Software Guard Extensions (SGX)的重定位相关结构和函数。 该文件中的Rela 结构定义了…...

Hbase基本使用,读写原理,性能优化学习

文章目录 HBase简介HBase定义HBase数据模型**HBase** **逻辑结构****HBase** **物理存储结构****HBase** **基本架构** HBase 入门**HBase** **安装部署****HBase** 配置文件**HBase** 启动停止**HBase** **访问页面****HBase** **高可用****HBase Shell****HBase API**HBaseCo…...

添加主仓库后报错error: remote upstream already exists.

可能的原因 远程名 upstream 已经被使用&#xff1a; 这通常意味着你在之前已经添加了一个名为 upstream 的远程仓库。 解决方案 检查现有的远程仓库&#xff1a; 运行 git remote -v 来查看所有配置的远程仓库。这个命令会列出所有远程仓库的URL&#xff0c;你可以检查是否已…...

香港服务器如何做负载均衡?

​  在现代互联网时代&#xff0c;随着网站访问量的不断增加&#xff0c;服务器的负载也越来越重。为了提高网站的性能和可用性&#xff0c;负载均衡成为了一种常见的解决方案。 什么是负载均衡? 负载均衡是一种技术解决方案&#xff0c;用于在多个服务器之间分配负载&#…...

前端 :用HTML , CSS ,JS 做一个秒表

1.HTML&#xff1a; <body><div id "content"><div id "top"><div id"time">00:00:000</div></div><div id "bottom"><div id "btn_start">开始</div><div …...

BIOS MBR UEFI GPT详解

先来看下名词 启动方式&#xff1a; BIOS&#xff1a;Basic Input Output System&#xff0c;中文名称"基本输入输出系统"。 UEFI&#xff1a;Unified Extensible Firmware Interface&#xff0c;中文名称"统一的可扩展固件接口"。 Legacy&#xff1a;…...

2023NOIP A层联测20-点餐

一家新的餐馆开业了&#xff0c;为了吸引更多的顾客&#xff0c;每样餐品都有打折的活动。特别的&#xff0c;餐馆内一共有&#x1d45b;样菜品&#xff0c;编号从 1 1 1 到 n n n&#xff0c;每样菜品每人最多只能点一次。对于第 i i i 种菜品&#xff0c;其包含两种价格&a…...

3D LUT 滤镜 shader 源码分析

最近在做滤镜相关的渲染学习&#xff0c;目前大部分 LUT 滤镜代码实现都是参考由 GPUImage 提供的 LookupFilter 的逻辑&#xff0c;整个代码实现不多。参考网上的博文也有各种解释&#xff0c;参考了大量博文之后终于理解了&#xff0c;所以自己重新整理了一份&#xff0c;方便…...

五分钟理解Java跨平台原理(适合小白)

JVM通俗的理解 Java语言的一个非常重要的特点就是与平台的无关性。而使用Java虚拟机&#xff0c;即JVM&#xff08;Java Virtual Machine&#xff09;是实现这一特点的关键。JVM是一种用于计算设备的规范&#xff0c;它是一个虚构出来的计算机&#xff0c;是通过在实际的计算机…...

从初级测试工程师到测试专家,你的晋升路线是什么?

最近&#xff0c;我们讨论了软件测试工程的的分级&#xff0c;大家都贡献了自己的想法。 对于大家来说&#xff0c;软件测试人的分级其实也代表了我们的进阶方向&#xff0c;职业发展。总体来说&#xff0c;测试工程师未来发展有三个方向&#xff1a; 技术精英 行业专家 管理…...

uniapp 对接腾讯云IM群组成员管理(增删改查)

UniApp 实战&#xff1a;腾讯云IM群组成员管理&#xff08;增删改查&#xff09; 一、前言 在社交类App开发中&#xff0c;群组成员管理是核心功能之一。本文将基于UniApp框架&#xff0c;结合腾讯云IM SDK&#xff0c;详细讲解如何实现群组成员的增删改查全流程。 权限校验…...

未来机器人的大脑:如何用神经网络模拟器实现更智能的决策?

编辑&#xff1a;陈萍萍的公主一点人工一点智能 未来机器人的大脑&#xff1a;如何用神经网络模拟器实现更智能的决策&#xff1f;RWM通过双自回归机制有效解决了复合误差、部分可观测性和随机动力学等关键挑战&#xff0c;在不依赖领域特定归纳偏见的条件下实现了卓越的预测准…...

CTF show Web 红包题第六弹

提示 1.不是SQL注入 2.需要找关键源码 思路 进入页面发现是一个登录框&#xff0c;很难让人不联想到SQL注入&#xff0c;但提示都说了不是SQL注入&#xff0c;所以就不往这方面想了 ​ 先查看一下网页源码&#xff0c;发现一段JavaScript代码&#xff0c;有一个关键类ctfs…...

Spring Boot 实现流式响应(兼容 2.7.x)

在实际开发中&#xff0c;我们可能会遇到一些流式数据处理的场景&#xff0c;比如接收来自上游接口的 Server-Sent Events&#xff08;SSE&#xff09; 或 流式 JSON 内容&#xff0c;并将其原样中转给前端页面或客户端。这种情况下&#xff0c;传统的 RestTemplate 缓存机制会…...

python/java环境配置

环境变量放一起 python&#xff1a; 1.首先下载Python Python下载地址&#xff1a;Download Python | Python.org downloads ---windows -- 64 2.安装Python 下面两个&#xff0c;然后自定义&#xff0c;全选 可以把前4个选上 3.环境配置 1&#xff09;搜高级系统设置 2…...

解决Ubuntu22.04 VMware失败的问题 ubuntu入门之二十八

现象1 打开VMware失败 Ubuntu升级之后打开VMware上报需要安装vmmon和vmnet&#xff0c;点击确认后如下提示 最终上报fail 解决方法 内核升级导致&#xff0c;需要在新内核下重新下载编译安装 查看版本 $ vmware -v VMware Workstation 17.5.1 build-23298084$ lsb_release…...

在Ubuntu中设置开机自动运行(sudo)指令的指南

在Ubuntu系统中&#xff0c;有时需要在系统启动时自动执行某些命令&#xff0c;特别是需要 sudo权限的指令。为了实现这一功能&#xff0c;可以使用多种方法&#xff0c;包括编写Systemd服务、配置 rc.local文件或使用 cron任务计划。本文将详细介绍这些方法&#xff0c;并提供…...

高危文件识别的常用算法:原理、应用与企业场景

高危文件识别的常用算法&#xff1a;原理、应用与企业场景 高危文件识别旨在检测可能导致安全威胁的文件&#xff0c;如包含恶意代码、敏感数据或欺诈内容的文档&#xff0c;在企业协同办公环境中&#xff08;如Teams、Google Workspace&#xff09;尤为重要。结合大模型技术&…...

css3笔记 (1) 自用

outline: none 用于移除元素获得焦点时默认的轮廓线 broder:0 用于移除边框 font-size&#xff1a;0 用于设置字体不显示 list-style: none 消除<li> 标签默认样式 margin: xx auto 版心居中 width:100% 通栏 vertical-align 作用于行内元素 / 表格单元格&#xff…...

3-11单元格区域边界定位(End属性)学习笔记

返回一个Range 对象&#xff0c;只读。该对象代表包含源区域的区域上端下端左端右端的最后一个单元格。等同于按键 End 向上键(End(xlUp))、End向下键(End(xlDown))、End向左键(End(xlToLeft)End向右键(End(xlToRight)) 注意&#xff1a;它移动的位置必须是相连的有内容的单元格…...