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

Zookeeper基本命令解析

 ZooKeeper -server host:port -client-configuration properties-file cmd args
    addWatch [-m mode] path # optional mode is one of [PERSISTENT, PERSISTENT_RECURSIVE] - default is PERSISTENT_RECURSIVE
    addauth scheme auth

一、整体命令格式

  1. ZooKeeper -server host:port -client -configuration properties - file cmd args

    • 含义
      • 这是ZooKeeper客户端启动并执行命令的一种格式。
      • -server host:port:指定要连接的ZooKeeper服务器的主机名(host)和端口号(port)。例如,如果ZooKeeper服务器运行在本地的2181端口,可以写成-server localhost:2181
      • -client -configuration properties - file:用于指定客户端配置属性文件。这个文件包含了一些客户端的配置信息,如连接超时时间、会话超时时间等相关设置。
      • cmd args:表示要执行的ZooKeeper命令(cmd)以及命令所需的参数(args)。例如,ls /是一个命令(ls为查看节点命令)和参数(/为要查看的节点路径)的组合。

二、addWatch相关命令

  1. addWatch [-m mode] path # optional mode is one of [PERSISTENT, PERSISTENT_RECURSIVE] - default is PERSISTENT_RECURSIVE

    • 含义
      • 这个命令用于对指定的path(路径)添加观察(watch)。
      • [-m mode]mode是可选参数,有两种模式可供选择。PERSISTENT模式表示持久化观察,这种观察在被触发一次之后不会自动删除,仍然会持续观察节点的变化;PERSISTENT_RECURSIVE模式是持久化递归观察,它不仅会持续观察指定节点的变化,还会观察该节点下所有子节点的变化,默认情况下如果不指定模式,就是PERSISTENT_RECURSIVE模式。例如,如果执行addWatch -m PERSISTENT /my/node,就会对/my/node以持久化模式添加观察。

三、addauth相关命令

  1. addauth scheme auth

    • 含义
      • 这个命令用于添加身份验证信息。
      • scheme:是身份验证的方案类型。例如,在ZooKeeper中可以使用digest方案,这是一种基于用户名和密码的摘要认证方式。
      • auth:是与所选认证方案相关的认证数据。如果是digest方案,可能是类似username:password经过摘要算法处理后的字符串。例如,如果用户名是user1,密码是pass1,经过摘要处理后得到的字符串作为auth参数,执行addauth digest <摘要后的字符串>来向ZooKeeper服务器提供身份验证信息,以便进行后续权限相关的操作。

    close 
    config [-c] [-w] [-s]
    connect host:port
    create [-s] [-e] [-c] [-t ttl] path [data] [acl]
    delete [-v version] path
    deleteall path [-b batch size]
    delquota [-n|-b|-N|-B] path
    get [-s] [-w] path
    getAcl [-s] path
    getAllChildrenNumber path
    getEphemerals path
    history 
    listquota path
    ls [-s] [-w] [-R] path
    printwatches on|off
    quit 
    reconfig [-s] [-v version] [[-file path] | [-members serverID=host:port1:port2;port3[,...]*]] | [-add serverId=host:port1:port2;port3[,...]]* [-remove serverId[,...]*]
    redo cmdno
    removewatches path [-c|-d|-a] [-l]
    set [-s] [-v version] path data
    setAcl [-s] [-v version] [-R] path acl
    setquota -n|-b|-N|-B val path
    stat [-w] path
    sync path
    version 
    whoami

一、基础连接与操作相关命令

  1. close

    • 含义
      • 用于关闭当前与ZooKeeper服务器的连接。当执行此命令后,客户端将断开与ZooKeeper服务器的连接,不再能够发送请求或接收响应。
  2. config

    • [-c] [-w] [-s]
      • 含义
        • 用于获取或设置ZooKeeper服务器的配置信息。-c表示输出配置的变化信息;-w表示在配置发生变化时等待通知;-s表示输出配置信息的摘要。通过这个命令,可以查看和管理ZooKeeper服务器的一些运行参数,如tickTime、initLimit、syncLimit等。
  3. connect host:port

    • 含义
      • 用于连接到指定的ZooKeeper服务器。其中host是ZooKeeper服务器的主机名或IP地址,port是ZooKeeper服务器的端口号(通常为2181)。如果当前客户端已经连接到一个服务器,执行此命令可以切换连接到其他服务器。

二、数据节点操作相关命令

  1. create [-s] [-e] [-c] [-t ttl] path [data] [acl]
    • [-s] [-e] [-c] [-t ttl]
      • 含义
        • -s表示创建顺序节点。顺序节点在ZooKeeper中会根据创建顺序在节点名后自动添加一个单调递增的序号。-e表示创建临时节点,临时节点的生命周期与创建它的客户端会话相关,当客户端会话结束时,临时节点会被自动删除。-c表示创建容器节点(在某些ZooKeeper版本中支持)。-t ttl用于设置节点的生存时间(Time - To - Live),超过这个时间节点将被自动删除(如果支持)。
    • path [data] [acl]

      • 含义
        • path是要创建的节点的路径,例如/my/nodedata是要存储在节点中的数据,可以是任意字节数组(在命令行中通常以字符串形式表示)。acl是访问控制列表(Access Control List),用于定义对节点的访问权限。
  2. delete [-v version] path

    • [-v version]
      • 含义
        • 用于删除指定路径的节点。-v version表示指定节点的版本号,如果不指定版本号,将删除最新版本的节点。版本号机制有助于在并发操作时确保数据的一致性,只有当指定的版本号与节点当前版本号匹配时,删除操作才会成功。
  3. deleteall path [-b batch size]

    • [-b batch size]
      • 含义
        • 用于递归删除指定路径及其所有子节点。-b batch size表示批量删除的大小,在某些情况下可以提高删除操作的效率,特别是当子节点数量较多时。
  4. get [-s] [-w] path

    • [-s] [-w]
      • 含义
        • 用于获取指定路径节点的数据内容。-s表示同时获取节点的状态信息,如节点的创建时间、修改时间、版本号等。-w表示对节点设置数据变更的观察(watch),当节点数据发生变化时,客户端将收到通知。
  5. set [-s] [-v version] path data

    • [-s] [-v version]
      • 含义
        • 用于设置指定路径节点的数据内容。-s表示同时获取节点的状态信息更新(如更新后的版本号等)。-v version表示指定节点的版本号,只有当指定的版本号与节点当前版本号匹配时,设置操作才会成功,这有助于防止数据的并发冲突。

三、权限与配额相关命令

  1. addauth scheme auth

    • 含义
      • 用于添加身份验证信息。scheme是身份验证的方案,如digest(基于用户名和密码的摘要认证)等,auth是与认证方案相关的认证数据。通过这个命令,客户端可以向ZooKeeper服务器提供身份验证信息,以便进行权限相关的操作。
  2. getAcl [-s] path

    • [-s]
      • 含义
        • 用于获取指定路径节点的访问控制列表(ACL)。-s表示同时获取节点的状态信息。ACL定义了哪些用户或用户组对节点具有何种操作权限,如读、写、创建子节点等权限。
  3. setAcl [-s] [-v version] [-R] path acl

    • [-s] [-v version] [-R]
      • 含义
        • 用于设置指定路径节点的访问控制列表(ACL)。-s表示同时获取节点的状态信息更新。-v version表示指定节点的版本号,只有当指定的版本号与节点当前版本号匹配时,设置操作才会成功。-R表示递归设置ACL,即对指定路径节点及其所有子节点设置相同的ACL。
  4. delquota [-n|-b|-N|-B] path

    • [-n|-b|-N|-B]
      • 含义
        • 用于删除指定路径节点的配额限制。-n表示删除节点数量的配额限制;-b表示删除字节数的配额限制;-N表示删除节点数量的非递归配额限制;-B表示删除字节数的非递归配额限制。配额限制可以用来控制节点的数量或数据量,防止节点过度增长。
  5. setquota -n|-b|-N|-B val path

    • -n|-b|-N|-B val
      • 含义
        • 用于设置指定路径节点的配额限制。-n表示设置节点数量的配额;-b表示设置字节数的配额;-N表示设置非递归的节点数量配额;-B表示设置非递归的字节数配额。val是要设置的配额值。

四、观察(watch)与监控相关命令

  1. addWatch [-m mode] path # optional mode is one of [PERSISTENT, PERSISTENT_RECURSIVE] - default is PERSISTENT_RECURSIVE

    • [-m mode]
      • 含义
        • 用于对指定路径的节点添加观察(watch)。mode可以是PERSISTENT(持久化观察,即使触发一次观察后也不会自动删除)或PERSISTENT_RECURSIVE(持久化递归观察,对节点及其所有子节点进行持久化观察,默认模式)。当节点发生符合观察条件的变化时(如数据变化、子节点变化等),客户端将收到通知。
  2. printwatches on|off

    • 含义
      • 用于开启或关闭观察(watch)的打印功能。当设置为on时,客户端在收到观察通知时会打印相关信息;当设置为off时,则不会打印观察通知信息。
  3. removewatches path [-c|-d|-a] [-l]

    • [-c|-d|-a] [-l]
      • 含义
        • 用于移除对指定路径节点的观察(watch)。-c表示移除连接级别的观察;-d表示移除数据级别的观察;-a表示移除所有类型的观察。-l表示列出当前的观察设置情况。

五、其他命令

  1. getAllChildrenNumber path

    • 含义
      • 用于获取指定路径节点的所有子节点的数量。这个命令可以快速获取某个节点下的子节点数量情况,对于一些需要统计子节点数量的应用场景很有用。
  2. getEphemerals path

    • 含义
      • 用于获取指定路径节点下的所有临时节点。临时节点在ZooKeeper中有特殊的用途,如表示某个客户端的会话状态等,通过这个命令可以查看特定节点下的临时节点情况。
  3. history

    • 含义
      • 用于查看在当前ZooKeeper客户端会话中执行过的命令历史记录。这有助于回顾之前执行过的操作,方便调试和重复执行某些命令。
  4. listquota path

    • 含义
      • 用于列出指定路径节点的配额限制情况。可以查看节点是否设置了节点数量、字节数等配额限制,以及当前的使用情况是否接近配额限制。
  5. ls [-s] [-w] [-R] path

    • [-s] [-w] [-R]
      • 含义
        • 用于列出指定路径节点的子节点。-s表示同时获取子节点的状态信息;-w表示对子节点设置数据变更的观察(watch);-R表示递归列出子节点,即列出指定路径节点及其所有子节点的子节点情况。
  6. reconfig [-s] [-v version] [[-file path] | [-members serverID=host:port1:port2;port3[,...]]] | [-add serverId=host:port1:port2;port3[,...]] [-remove serverId[,...]*]

    • [-s] [-v version] [[-file path] | [-members serverID=host:port1:port2;port3[,...]]] | [-add serverId=host:port1:port2;port3[,...]] [-remove serverId[,...]*]
      • 含义
        • 用于重新配置ZooKeeper集群。-s表示同时获取配置信息的状态更新。-v version表示指定配置的版本号。-file path表示从指定的文件中读取新的集群配置信息。-members serverID = host:port1:port2;port3[,...]*用于指定集群成员的详细信息,包括服务器ID、主机名、端口等。-add serverId = host:port1:port2;port3[,...]用于添加新的服务器成员到集群中。-remove serverId[,...]*用于从集群中移除服务器成员。这个命令可以动态地调整ZooKeeper集群的成员构成和配置信息。
  7. redo cmdno

    • 含义
      • 用于重新执行之前执行过的命令。cmdno是命令历史记录中的命令编号,可以通过history命令获取。这个命令在需要重复执行某个操作或者纠正之前操作的错误时很有用。
  8. stat [-w] path

    • [-w]
      • 含义
        • 用于获取指定路径节点的状态信息。-w表示对节点设置状态变更的观察(watch),当节点的状态(如创建时间、修改时间、版本号等)发生变化时,客户端将收到通知。
  9. sync path

    • 含义
      • 用于强制同步指定路径节点的数据。在ZooKeeper中,数据的同步是自动进行的,但在某些特殊情况下(如网络故障后恢复),可以使用这个命令来确保节点数据在本地客户端与服务器之间的一致性。
  10. version

  • 含义
    • 用于获取ZooKeeper服务器的版本信息。可以了解当前使用的ZooKeeper的具体版本,这对于兼容性和功能支持方面的判断很有帮助。
  1. whoami

  • 含义
    • 用于获取当前客户端在ZooKeeper中的身份标识。这个标识可以与身份验证和权限管理相关联,了解当前客户端在ZooKeeper中的身份状态。

相关文章:

Zookeeper基本命令解析

ZooKeeper -server host:port -client-configuration properties-file cmd args addWatch [-m mode] path # optional mode is one of [PERSISTENT, PERSISTENT_RECURSIVE] - default is PERSISTENT_RECURSIVE addauth scheme auth 一、整体命令格式 ZooKeeper -serve…...

RustDesk远程及自建服务器搭建教程

要开始使用RustDesk远程和自建服务器&#xff0c;你需要遵循以下步骤&#xff1a; 下载和安装RustDesk&#xff1a;RustDesk是一款开源的远程支持应用程序。你可以在其官方网站&#xff08;https://rustdesk.com/&#xff09;上下载适用于你的操作系统的安装程序。安装过程非常…...

广州大彩串口屏安卓/linux触摸屏四路CVBS输入实现同时显示!

一、适用范围 适合广州大彩A40系列产品 产品型号&#xff1a; 二、概述 CVBS只需要一条线缆即可完成视频信号的传输&#xff0c;具有兼容性强、使用简单、成本低廉等优点。典型分辨率为720x480&#xff08;NTSC制&#xff09;或720x576&#xff08;PAL制&#xff09;。 三、…...

Python:模拟(包含例题)

模拟题&#xff1a;直接按照题目含义模拟即可&#xff0c;一般不涉及算法 注意&#xff1a; 1.读懂题&#xff1a;理清楚题目流程 2.代码和步骤一一对应&#xff1a;变量名&#xff0c;函数名&#xff0c;函数功能 3.提取重复的部分&#xff0c;写成对应的函数&#xff08;…...

Python OCR 文字识别

一.引言 文字识别&#xff0c;也称为光学字符识别&#xff08;Optical Character Recognition, OCR&#xff09;&#xff0c;是一种将不同形式的文档&#xff08;如扫描的纸质文档、PDF文件或数字相机拍摄的图片&#xff09;中的文字转换成可编辑和可搜索的数据的技术。随着技…...

阿里巴巴2017实习生笔试题(二)

阿里巴巴2017实习生笔试题&#xff08;二&#xff09; 2024/12/25 1.下面哪一个不是动态链接库的优点&#xff1f; B A.共享 B.装载速度快 C.开发模式好 D.减少页面交换 解析 1 静态链接库的优点 (1) 代码装载速度快&#xff0c;执行速度略比动态链接库快&#xff1b;…...

Docker安装与使用

文章目录 0.关键词1.安装docker2.镜像和容器3.Docker基础1.常见命令2.数据卷&#xff08;volume&#xff09;要解决的问题&#xff1a;什么是数据卷&#xff1a;解决的办法&#xff1a; 3.数据卷的使用基本命令挂载数据卷&#xff08;nginx&#xff09;基于本地目录数据挂载&am…...

通过nginx设置一个图片服务器,并使用 Nginx 作为反向代理

通过nginx设置一个图片服务器&#xff0c;并使用 Nginx 作为反向代理 安装nginx 首先需要去官网下载一个nginx&#xff0c;我这里下载了最新的稳定版本&#xff1a;nginx-1.26.2&#xff0c;下载下来是一个压缩包&#xff0c;解压之后就可以直接用了。 修改nginx的配置文件 …...

MacOS M3源代码编译Qt6.8.1

编译时间过长&#xff0c;如果不想自己编译&#xff0c;可以通过如果网盘进行下载&#xff1a; 链接: https://pan.baidu.com/s/17lvF5jQ-vR6vE-KEchzrVA?pwdts26 提取码: ts26 在macOS上编译Qt 6需要一些前置步骤和工具。以下是编译Qt 6的基本步骤&#xff1a; 安装Xcode和…...

【Pytorch实用教程】PyTorch 自带的数据集全面解读

下面这篇博客文章将带你快速了解 PyTorch 自带(或官方维护)的各类常用数据集,并介绍它们的使用方法,包括图像、文本和音频数据集。希望能帮助你在项目中快速上手并提高效率。 一、为什么要使用 PyTorch 自带的数据集? 1. 方便、快捷 官方维护的数据集通常已经帮助我们做好…...

Flask使用的正例和反例

Flask使用的正例和反例 文章目录 Flask使用的正例和反例一 &#xff0c; 使用注册异常二 &#xff0c; 新增数据成功后要返回新增数据的id三&#xff0c; 模型查询语句抽取成函数四&#xff0c; 业务逻辑函数传递的参数不应该用字典类型&#xff0c;要传不同字段的参数&#xf…...

2024年河北省职业院校技能大赛云计算应用赛项赛题第2套(私有云)

#需要资源&#xff08;软件包及镜像&#xff09;或有问题的&#xff0c;可私聊博主&#xff01;&#xff01;&#xff01; #需要资源&#xff08;软件包及镜像&#xff09;或有问题的&#xff0c;可私聊博主&#xff01;&#xff01;&#xff01; #需要资源&#xff08;软件包…...

我的软件架构师——Java 职位面试经历。

最近,我参加了一家领先的服务型公司的软件架构师(Java)职位的面试。我在这里分享了一些面试官问我的问题。我只列出了与 Java 相关的问题,因为本文主要关注 Java。面试官问我有关 AWS、Docker、Kubernetes、Kafka、Elastic Search、SQL/NoSQL 和设计模式的问题。 ClassNotF…...

npm error code ETIMEDOUT

参考:https://blog.csdn.net/qq_38572963/article/details/142052986 二、解决办法 1、清空缓存 npm cache clean --force 2、查看当前的npm镜像设置 npm config get registry 3、切换新镜像源 npm config set registry https://registry.npmmirror.com 4、查看新源是否设置成功…...

(11)(3.2) ESC信号问题

文章目录 前言 1 信号电平不足 2 感应噪声 3 ESC过电压尖峰 4 ESC固件错误 前言 本页讨论了 ESC 信号的几个潜在问题&#xff0c;这些问题可能导致不可靠的操作&#xff0c;甚至在起飞时坠毁。这些主要发生在较大的四轮飞机上&#xff0c;这些飞机从动力和自动驾驶仪到 E…...

Postman最新接口自动化持续集成

学习地址&#xff1a;https://www.bilibili.com/video/BV1VDC5Y7EJA?spm_id_from333.788.videopod.episodes&vd_source336a0b0a2ff09832b3a55c3599ffb193&p9 1、旧版&#xff1a;PostmanNewmanAllureJenkins 缺点&#xff1a;需要安装较多软件&#xff0c;脚步需要手…...

windows nacos安装配置

GitHub下载压缩包 解压目录&#xff08;注意不要用中文路径&#xff09; 在mysql先创建数据库nacos&#xff0c;再执行sql脚本 配置数据库 #*************** Config Module Related Configurations ***************# ### If use MySQL as datasource: ### Deprecated conf…...

重温设计模式-外观模式和适配器模式的异同

文章目录 目的不同适配器模式&#xff1a;外观模式&#xff1a; 结构和实现方式不同适配器模式&#xff1a;外观模式&#xff1a; 对客户端的影响不同适配器模式&#xff1a;外观模式&#xff1a; 目的不同 适配器模式&#xff1a; 主要目的是解决两个接口不兼容的问题&#…...

数据中台从centos升级为国产操作系统后,资源增加字段时,提交报500错误

文章目录 背景一、步骤1.分析阶段2.查看nginx3.修改用户&#xff08;也可以修改所有者权限&#xff09; 背景 故障报错&#xff1a; nginx报错信息&#xff1a; 2024/12/19 15:25:31 [crit, 500299#0: *249 onen0 " /var/lib/nginx/tmp/cient body/0000000001" f…...

云原生后端开发(一)

云原生后端开发 云原生&#xff08;Cloud-Native&#xff09;是指一种构建和运行应用程序的方式&#xff0c;它充分利用了云计算的特点&#xff0c;比如弹性伸缩、自动化部署、容器化等。在云原生的架构下&#xff0c;后端应用通常具备高度可扩展、可维护、易于自动化管理的特…...

<6>-MySQL表的增删查改

目录 一&#xff0c;create&#xff08;创建表&#xff09; 二&#xff0c;retrieve&#xff08;查询表&#xff09; 1&#xff0c;select列 2&#xff0c;where条件 三&#xff0c;update&#xff08;更新表&#xff09; 四&#xff0c;delete&#xff08;删除表&#xf…...

【力扣数据库知识手册笔记】索引

索引 索引的优缺点 优点1. 通过创建唯一性索引&#xff0c;可以保证数据库表中每一行数据的唯一性。2. 可以加快数据的检索速度&#xff08;创建索引的主要原因&#xff09;。3. 可以加速表和表之间的连接&#xff0c;实现数据的参考完整性。4. 可以在查询过程中&#xff0c;…...

如何在看板中有效管理突发紧急任务

在看板中有效管理突发紧急任务需要&#xff1a;设立专门的紧急任务通道、重新调整任务优先级、保持适度的WIP&#xff08;Work-in-Progress&#xff09;弹性、优化任务处理流程、提高团队应对突发情况的敏捷性。其中&#xff0c;设立专门的紧急任务通道尤为重要&#xff0c;这能…...

精益数据分析(97/126):邮件营销与用户参与度的关键指标优化指南

精益数据分析&#xff08;97/126&#xff09;&#xff1a;邮件营销与用户参与度的关键指标优化指南 在数字化营销时代&#xff0c;邮件列表效度、用户参与度和网站性能等指标往往决定着创业公司的增长成败。今天&#xff0c;我们将深入解析邮件打开率、网站可用性、页面参与时…...

Linux C语言网络编程详细入门教程:如何一步步实现TCP服务端与客户端通信

文章目录 Linux C语言网络编程详细入门教程&#xff1a;如何一步步实现TCP服务端与客户端通信前言一、网络通信基础概念二、服务端与客户端的完整流程图解三、每一步的详细讲解和代码示例1. 创建Socket&#xff08;服务端和客户端都要&#xff09;2. 绑定本地地址和端口&#x…...

人工智能(大型语言模型 LLMs)对不同学科的影响以及由此产生的新学习方式

今天是关于AI如何在教学中增强学生的学习体验&#xff0c;我把重要信息标红了。人文学科的价值被低估了 ⬇️ 转型与必要性 人工智能正在深刻地改变教育&#xff0c;这并非炒作&#xff0c;而是已经发生的巨大变革。教育机构和教育者不能忽视它&#xff0c;试图简单地禁止学生使…...

Python Ovito统计金刚石结构数量

大家好,我是小马老师。 本文介绍python ovito方法统计金刚石结构的方法。 Ovito Identify diamond structure命令可以识别和统计金刚石结构,但是无法直接输出结构的变化情况。 本文使用python调用ovito包的方法,可以持续统计各步的金刚石结构,具体代码如下: from ovito…...

省略号和可变参数模板

本文主要介绍如何展开可变参数的参数包 1.C语言的va_list展开可变参数 #include <iostream> #include <cstdarg>void printNumbers(int count, ...) {// 声明va_list类型的变量va_list args;// 使用va_start将可变参数写入变量argsva_start(args, count);for (in…...

脑机新手指南(七):OpenBCI_GUI:从环境搭建到数据可视化(上)

一、OpenBCI_GUI 项目概述 &#xff08;一&#xff09;项目背景与目标 OpenBCI 是一个开源的脑电信号采集硬件平台&#xff0c;其配套的 OpenBCI_GUI 则是专为该硬件设计的图形化界面工具。对于研究人员、开发者和学生而言&#xff0c;首次接触 OpenBCI 设备时&#xff0c;往…...

Oracle11g安装包

Oracle 11g安装包 适用于windows系统&#xff0c;64位 下载路径 oracle 11g 安装包...