详解zookeeper四字命令

news2024/10/1 3:35:23

ZooKeeper 的四字命令(Four-Letter Words, 4LW)是一组简单的管理和监控命令,方便运维人员快速获取 ZooKeeper 集群和节点的运行状态。这些命令通常用于健康检查、性能监控、节点配置查看等操作。通过这些命令,可以轻松获取关于 ZooKeeper 服务的关键信息。

四字命令可以通过 TCP 连接直接向 ZooKeeper 服务器发送请求,ZooKeeper 服务会返回相应的状态信息。这些命令只接受四个字母输入,故称为“四字命令”。

ZooKeeper 四字命令详解

1. ruok
  • 功能:检查 ZooKeeper 服务节点是否正常运行。

  • 用法

    echo ruok | nc 127.0.0.1 2181
  • 返回imok 表示节点健康运行。如果没有响应,可能是节点宕机或网络不通。

  • 用途:通常用于健康检查,特别适合用在负载均衡器或监控系统中确认服务是否存活。

2. stat
  • 功能:获取 ZooKeeper 节点的详细状态信息。

  • 用法

    echo stat | nc 127.0.0.1 2181
  • 返回

    • 服务器版本
    • 当前节点连接的客户端数
    • 请求的接收/发送数量
    • 节点角色(Leader/Follower/Standalone)
    • 节点的延迟统计等
  • 用途:用于查看 ZooKeeper 节点的整体运行状况,包括连接数和角色等。

3. srvr
  • 功能:类似于 stat 命令,但不包括客户端的详细信息。

  • 用法

    echo srvr | nc 127.0.0.1 2181
  • 返回:返回服务器版本、节点角色(Leader/Follower)、会话数、zxid(事务ID)等。

  • 用途:用于快速查看 ZooKeeper 节点的基本状态,尤其是节点的角色。

4. conf
  • 功能:查看 ZooKeeper 节点的配置信息。

  • 用法

    echo conf | nc 127.0.0.1 2181
  • 返回:当前 ZooKeeper 配置参数,如 clientPortdataDirtickTime 等等。

  • 用途:用于确认 ZooKeeper 节点的配置,特别适合检查多节点集群中节点配置的一致性。

5. mntr
  • 功能:提供详细的监控指标信息。

  • 用法

    echo mntr | nc 127.0.0.1 2181
  • 返回

    • zk_version:ZooKeeper 版本
    • zk_avg_latency:请求的平均延迟
    • zk_max_latency:最大延迟
    • zk_packets_received:接收到的请求数
    • zk_packets_sent:发送的响应数
    • zk_num_alive_connections:当前活动连接数
    • zk_outstanding_requests:未处理的请求数
  • 用途:适合监控 ZooKeeper 节点性能和负载情况,常与外部监控系统集成。

6. wchs
  • 功能:查看监控(watchers)相关信息。

  • 用法

    echo wchs | nc 127.0.0.1 2181
  • 返回:关于 ZooKeeper 中监控器(watchers)的统计数据,包括监控的路径和设置监控的客户端数量。

  • 用途:用于调试和查看 ZooKeeper 的 watch 机制。

7. wchc
  • 功能:显示设置了监视器的客户端的详细信息。

  • 用法

    echo wchc | nc 127.0.0.1 2181
  • 返回:列出每个客户端 session 和其监控的详细信息。

  • 用途:用于追踪客户端的监控器设置,调试复杂的 watch 场景。

8. wchp
  • 功能:显示被监控的 ZNode 路径。

  • 用法

    echo wchp | nc 127.0.0.1 2181
  • 返回:列出所有被监控的 ZNode 路径。

  • 用途:调试哪些节点设置了监控(watch),帮助识别被过度监控的路径。

9. cons
  • 功能:查看当前连接到 ZooKeeper 的客户端信息。

  • 用法

    echo cons | nc 127.0.0.1 2181
  • 返回:列出所有连接的客户端信息,包括 IP 地址、连接时间、会话 ID 等。

  • 用途:监控哪些客户端正在连接 ZooKeeper,特别在处理性能问题时有用。

10. envi
  • 功能:显示 ZooKeeper 节点的环境变量。

  • 用法

    echo envi | nc 127.0.0.1 2181
  • 返回:JVM 环境信息、操作系统信息、ZooKeeper 启动参数等。

  • 用途:调试 ZooKeeper 运行环境,适合检查 JVM 配置问题或运行环境不一致的情况。

11. dump
  • 功能:显示与 Leader 节点相关的会话信息(仅在 Leader 节点上有效)。

  • 用法

    echo dump | nc 127.0.0.1 2181
  • 返回:列出当前 Leader 管理的会话和临时节点。

  • 用途:调试 Leader 节点的会话管理和数据一致性问题。

12. srst
  • 功能:重置统计信息。

  • 用法

    echo srst | nc 127.0.0.1 2181
  • 返回:无输出,仅重置统计数据。

  • 用途:在性能调试或基准测试中用于清除当前统计信息以进行新一轮测试。

13. crst
  • 功能:重置连接统计信息。

  • 用法

    echo crst | nc 127.0.0.1 2181
  • 返回:无输出,仅重置连接统计数据。

  • 用途:用于清除当前连接的统计信息,通常用于调试连接问题。

14. dirs
  • 功能:显示当前节点的数据目录及事务日志目录的大小。

  • 用法

    echo dirs | nc 127.0.0.1 2181
  • 返回:列出数据目录和事务日志目录的大小(以字节为单位)。

  • 用途:用于监控 ZooKeeper 数据存储的磁盘使用情况。

所有四字命令的列表

  • ruok:检查节点健康状况。
  • stat:获取节点状态信息。
  • srvr:获取节点服务器信息。
  • conf:获取节点配置。
  • mntr:获取详细监控数据。
  • wchs:查看监控器统计信息。
  • wchc:查看设置监控器的客户端。
  • wchp:查看被监控的路径。
  • cons:查看当前连接的客户端信息。
  • envi:显示节点环境变量。
  • dump:查看 Leader 节点的会话信息。
  • srst:重置统计数据。
  • crst:重置连接统计数据。
  • dirs:显示数据目录和日志目录的大小。

如何启用或限制四字命令

从 ZooKeeper 3.5 版本开始,你可以通过 zoo.cfg 配置文件中的 4lw.commands.whitelist 参数来控制哪些四字命令可以被执行:

  • 启用所有命令

    4lw.commands.whitelist=*
  • 启用特定命令(如 ruokstat):

    4lw.commands.whitelist=ruok,stat

修改配置文件后,重启 ZooKeeper 以生效:

zkServer.sh restart

小结

ZooKeeper 的四字命令为运维人员提供了一种快速、轻量的方式来监控和管理节点的状态和健康。通过这些命令,能够轻松诊断集群运行问题并进行健康检查。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2181383.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

详解Linux文件系统

先来研究一下磁盘: LBA 磁头面数 所有磁头是共进退的。 每个扇区的大小假设为:512 磁盘的总容量:盘面*t*s*512 数组的下标范围:盘面*t*s LBA:xxx 假设xxx为LBA地址 xxx/1000h 及为h号盘面 xxx/100c 及c号磁道…

国产化框架PaddleYOLO结合Swanlab进行作物检测

1. 项目介绍 粮食安全,作为人类生存与发展的基石,始终是全球关注的焦点。它不仅仅关乎粮食的充足供应,更涉及粮食的质量安全、营养健康以及可持续生产等多个维度。在全球化、气候变化和资源环境约束日益加剧的背景下,如何确保粮食…

ComfyUI物品移除讲解

实现效果 一、下载插件 comfyui inpaint nodes 提供重绘功能节点,效果比自带的好很多 官方介绍 使用ComfyUI更好地进行修补的节点:用于SDXL,LaMa,MAT和各种其他工具的Foocus修补模型,用于预填充修补和去除区域。 插件…

Android调用科大讯飞语音转写 API以及解析踩坑之旅

需求 需要对本地音频文件,调用科大讯飞的api进行转文字,本来呢,以为很简单,结果坑不少。 语音转写 API 文档 坑1:解析 下载demo,代码也挺简单,放到idea中,替换一下key&#xff0c…

基于Springboot+Vue的网上书店(含源码数据库)

1.开发环境 开发系统:Windows10/11 架构模式:MVC/前后端分离 JDK版本: Java JDK1.8 开发工具:IDEA 数据库版本: mysql5.7或8.0 数据库可视化工具: navicat 服务器: SpringBoot自带 apache tomcat 主要技术: Java,Springboot,mybatis,mysql,vue 2.视频演示地址 3.功能 在这个…

用户体验测试——21条UX设计原则

根据心理学的研究和发展,对应理论不断被完善到用户体验设计领域,以下21条UX设计原则即为心理学在用户体验设计中的应用,在设计和测试中应用这些原则,可以提高用户体验质量特性,如下所示: 21条UX设计原则 有效性 特斯勒定律(最小复杂度定律) 这个定律也被称为“复杂性…

数据转换新利器,开启企业高效之路

Maria是 S 公司的采购专员,最近需要进行公司设备的采购,这可让她犯了难:公司多个部门提交采购申请,但每个部门都有着不同的需求。一时间她就收到了大量的申请单,却难以高效整合处理(比如哪些申请可以合并采…

环境变量

见一见环境变量: 查看环境变量的命令 命令行: echo &PATH echo &HOME env ps ajx ps aux ps -f -o pid code.c中获取环境变量 main(char* env[]) char* getenv(env_name) 本地变量 shell…

App模拟下载场景的demo

摘要 目的:提供一个稳定的下载场景,可以手动触发和定时触发下载,每次下载相同大小文件,研究下载场景的功耗影响 原理:把电脑当做服务器,手机测试App固定下载电脑存放的某个XXXMB的大文件,基于…

如何使用ssm实现校园体育赛事管理系统的设计与实现+vue

TOC ssm713校园体育赛事管理系统的设计与实现vue 绪论 课题背景 身处网络时代,随着网络系统体系发展的不断成熟和完善,人们的生活也随之发生了很大的变化。目前,人们在追求较高物质生活的同时,也在想着如何使自身的精神内涵得…

PE节表中是否存在misc.VirtualSize 比SizeofRawData还要大的情况

确实是存在的,这是win10自带记事本,可以看到 确实是大.所以在申请imagebuffer的时候,还是需要比较大小.但是在还原的时候.只考虑sizeofRawData即可>

【Android 14源码分析】WMS-窗口显示-第一步:addWindow

忽然有一天,我想要做一件事:去代码中去验证那些曾经被“灌输”的理论。                                                                                  – 服装…

项目管理专业资质认证ICB 3中关于项目经理素质的标准

项目管理专业资质认证ICB 3中关于项目经理素质的标准,的确很全面,下面摘录之:

三款专业的英文文献翻译工具,翻译论文不在话下

阅读英文论文文献时免不了要借用一些翻译软件来帮助理解,但因为论文文献的特殊性,普通的翻译软件不能很好的翻译一些专业名词和术语,所以这里给大家分享三款可以胜任文献翻译的专业翻译工具,可以快速准确的完成英文文献翻译工作。…

CDGA|2024年数据治理的六个关键建议

随着数字经济的快速发展,数据已成为企业运营和决策的核心资产。在2024年,做好数据治理对于提升企业的竞争力和运营效率至关重要。以下是六个关键建议,帮助企业有效应对数据治理的挑战。 1. 制定明确的数据治理策略 首先,企业需要…

遥感影像-实例分割数据集:iSAID 从切图到YOLO格式数据集制作详细介绍

背景介绍 开源数据集isaid标注包含实例分割,但是原始影像太大,很吃显存,一般显卡无法用原始影像直接训练,所以需要对影像进行裁剪,并生成对应的标签,因为想用yolo系列跑模型,所以将标签需要转为…

【设计模式-模板】

定义 模板方法模式是一种行为设计模式,它在一个方法中定义了一个算法的骨架,并将一些步骤延迟到子类中实现。通过这种方式,模板方法允许子类在不改变算法结构的情况下重新定义算法中的某些特定步骤。 UML图 组成角色 AbstractClass&#x…

Java 为什么使用 UTF-16 而不是更节省内存的 UTF-8?

Java 选择 UTF-16 编码而不是更节省内存的 UTF-8 这一决定,涉及多个层面的设计权衡,包括历史原因、虚拟机(JVM)实现的复杂度、性能和字符处理的一致性。要理解这个问题,我们需要从 Java 语言的设计初衷、JVM 的工作机制…

C++:笔试题

1.什么是虚函数?什么是纯虚函数? 虚函数是类中的一个成员函数,使用关键字virtual在函数名前声明。 虚函数主要目的是允许子类重写父类中的同名函数,从而实现多态性,并且子函数重写的是虚函数表中的函数。 当通过父类的…

七、添加攻击音效

一、添加动画事件 1、在动画事件中添加音效 2、添加音频组件 3、代码 public void PlayAttackSound() {AudioSource1.PlayOneShot(AudioClip1, SoundValue);//PlayOneShot播放一个音频剪辑(AudioClip)一次 }