详解zookeeper四字命令

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.xdnf.cn/news/1551910.html

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

相关文章

网盘能否作为FTP替代产品?企业该如何进行FTP国产化替代?

近年来,信创的概念引入和高效实践落地让更多的行业企业自发性地进行国产化替代,目前信创国产化替代还多发生在操作系统和应用层面,软件工具等目前还在下一阶段规划,但很多企业未雨绸缪,已经在做调研和尝试。 FTP作为世…

大屏娱乐体验新标杆:海信发布全新一代AI电视

在金秋送爽的9月29日,海信以一场盛大的“BIG PLAN百吋风暴”秋季新品发布会,正式揭开了AI电视新时代的序幕。 作为本场发布会上最耀眼的明星,海信AI电视E7N系列凭借无与伦比的AI画质技术和极致性能,引领大屏娱乐体验迈入全新境界&…

仿真设计|基于51单片机的多模式音乐跑马灯

目录 具体实现功能 设计介绍 51单片机简介 资料内容 仿真实现(protues8.7) 程序(Keil5) 全部内容 资料获取 具体实现功能 1、16个发光二极管做跑马灯,跑马灯有10种模式。 2、按键可以切换跑马灯模式&#xff0…

Java笔试02

在网络操作系统中,TCP和UDP是传输层中两个非常重要的协议。TCP提供的是面向连接的、可靠的端到端通信机制,因此TCP协议在注重数据安全的场景下获得了极为广泛的应用。 TCP采用了确认和重发机制来确保数据的可靠传输。 相较于UDP,TCP的优势在…

.NET CORE程序发布IIS后报错误 500.19

发布IIS后浏览时报错误500.19,同时配置文件web.config的路径中也存在问号“?”。 可能原因:没有安装运行时

无人机之编队控制篇

无人机编队控制是指无人机集群在执行任务过程中,如何形成并保持一定的几何构型,以适应平台性能、战场环境、战术任务等要求的控制技术。以下是对无人机编队控制的详细解析: 一、无人机编队控制的主要任务 无人机编队控制主要解决两个问题&a…

Linux 线程同步

前言 上一期我们介绍了线程互斥,并通过加锁解决了多线程并发访问下的数据不一致问题!本期我们来介绍一下同步问题! 目录 前言 一、线程同步 • 线程同步的引入 • 同步的概念 理解同步和饥饿问题 • 条件变量 理解条件变量 • 同步…

系列一、初始ElasticSearch

前言: 最近公司的业务有用到ElasticSearch,虽然说之前业余时间也自学过ElasticSearch技术,但是在公司实际的业务中开发中没有用过,再加上时间比较久远了,很多东西都忘记了,基于此我决定系统的重新学习一下这…

个人项目简单https服务配置

1.SSL简介 SSL证书是一种数字证书,由受信任的证书颁发机构(CA)颁发,用于在互联网通信中建立加密链接。SSL代表“安全套接层”,是用于在互联网上创建加密链接的协议。SSL证书的主要目的是确保数据传输的安全性和隐私性…

鸿蒙NEXT开发环境搭建(基于最新api12稳定版)

注意:博主有个鸿蒙专栏,里面从上到下有关于鸿蒙next的教学文档,大家感兴趣可以学习下 如果大家觉得博主文章写的好的话,可以点下关注,博主会一直更新鸿蒙next相关知识 专栏地址: https://blog.csdn.net/qq_56760790/…

PMP--三模--解题--51-60

文章目录 14.敏捷--每日站会--内容--• 上次站会以来我都完成了什么?• 从现在到下一次站会,我计划完成什么?• 我的障碍(或风险或问题)是什么?--每日站会能够同步与协调相关的活动。14.敏捷--Scrum板 Scru…

【Ubuntu】VMware中虚拟网卡与服务器网卡的绑定

文章目录 服务器网卡和VMware中虚拟网卡的绑定1.在本机上查看需要的网卡名称2.服务器本机设置固定ip3.打开VMware后,将虚拟网卡与本机真实网卡进行绑定。4.给routeOS分配4张网卡,如图所示:5.ubuntu1和ubuntu2只需分配vmnet0和vmnet8即可&…

《More Effective C++》的学习

引用与指针 没有所谓的null reference reference一定需要代表某个对象,所以C要求reference必须有初值。 QString &s; 使用reference可能比使用pointer更高效。 因为reference一定是有效的,而指针可能为空(需要多加一个判断&#xff0…

【PyTorch】图像目标检测

图像目标检测是什么 Object Detection 判断图像中目标的位置 目标检测两要素 分类:分类向量 [p0, …, pn]回归:回归边界框 [x1, y1, x2, y2] 模型如何完成目标检测 将3D张量映射到两个张量 分类张量:shape为 [N, c1]边界框张量&#xf…

索尼MDR-M1:超宽频的音频盛宴,打造沉浸式音乐体验

在音乐的世界里,每一次技术的突破都意味着全新的听觉体验。 索尼,作为音频技术的先锋,再次以其最新力作——MDR-M1封闭式监听耳机,引领了音乐界的新潮流。 这款耳机以其超宽频播放和卓越的隔音性能,为音乐爱好者和专…

深蕾半导体参加2024年度上海设计100+全球竞赛展览WDCC

展览介绍 WDCC2024 上海于2010年加入联合国教科文组织“创意城市网络”,定名为“设计之都”。“上海设计100”全球竞赛,遴选推广优秀设计案例,将“设计之都”的规划和愿景具体呈现。 ——展出时间、地点见文末—— 深蕾参展 深圳前海深蕾…

初识Linux · 进程等待

目录 前言: 进程等待是什么 为什么需要进程等待 进程等待都在做什么 前言: 通过上文的学习,我们了解了进程终止,知道终止是在干什么,终止的三种情况,以及有了退出码,错误码的概念&#xff…

Python | Leetcode Python题解之第448题找到所有数组中消失的数字

题目&#xff1a; 题解&#xff1a; class Solution:def findDisappearedNumbers(self, nums: List[int]) -> List[int]:n len(nums)for num in nums:x (num - 1) % nnums[x] nret [i 1 for i, num in enumerate(nums) if num < n]return ret

【RocketMQ】秒杀设计与实现

&#x1f3af; 导读&#xff1a;本文档详细探讨了高并发场景下的秒杀系统设计与优化策略&#xff0c;特别是如何在短时间内处理大量请求。文档分析了系统性能指标如QPS&#xff08;每秒查询率&#xff09;和TPS&#xff08;每秒事务数&#xff09;&#xff0c;并通过实例讲解了…

鸿蒙开发(NEXT/API 12)【申请接入Wear Engine服务】 穿戴服务

申请Wear Engine服务前&#xff08;开发者需实名认证为个人开发者或者企业开发者&#xff0c;认证前&#xff0c;请先了解二者的[权益区别] &#xff09;&#xff0c;确认开发环境并完成创建项目、创建HarmonyOS应用等基本准备工作&#xff0c;再继续进行以下开发活动。 进入华…