Zookeeper运维秘籍:四字命令基础、详解及业务应用全解析

文章目录

  • 一、四字命令基础
  • 二、四字命令详解
  • 三、四字命令的开启与配置
  • 四、结合业务解读四字命令
    • conf
    • cons
    • envi命令
    • Stat命令
    • MNTR命令
    • ruok命令
    • dump命令
    • wchs
    • wchp

ZooKeeper,作为一款分布式协调服务,提供了丰富的四字命令(也称为四字短语)来与其进行交互。这些命令大多用于查询ZooKeeper服务的当前状态、环境变量以及临时会话等信息,是运维人员监控ZooKeeper集群状态的重要工具。在客户端,用户可以通过 nc(Netcat)命令向ZooKeeper提交相应的四字命令。

一、四字命令基础

要使用ZooKeeper的四字命令,首先需要确保系统中已安装Netcat工具。四字命令的基本格式如下:

echo [command] | nc [ip] [port]

其中,[command]为具体的四字命令,[ip]为ZooKeeper服务器的IP地址,[port]为ZooKeeper服务的端口号(默认为2181)。

二、四字命令详解

  1. conf:打印ZooKeeper的配置信息,包括端口号、数据目录、日志目录、心跳间隔、最大连接数、会话超时时间等。

  2. cons:列出所有连接到当前ZooKeeper服务器的客户端的详细信息,包括接收/发送的包数量、会话ID、操作延迟、最后操作时间等。

  3. crst:重置所有连接的连接和会话统计信息。

  4. dump:列出重要的会话和临时节点信息,该命令仅在Leader节点上有效。

  5. envi:打印ZooKeeper服务的环境配置信息,如版本、主机信息、Java版本、运行环境等。

  6. reqs:列出未经处理的请求。

  7. ruok:测试ZooKeeper服务是否处于正常状态,如果正常则返回“imok”。

  8. stat:输出ZooKeeper的性能信息和连接的客户端列表。

  9. srst:重置ZooKeeper服务器的统计信息。

  10. srvr:列出ZooKeeper服务器的详细信息。

  11. wchs:列出当前服务器管理的Watcher信息。

  12. wchc:通过会话列出Watcher信息,输出与Watcher相关的会话列表。

  13. wchp:通过路径列出Watcher信息,输出与会话相关的路径。

  14. mntr:输出可用于检测集群健康状态的变量列表,比stat命令更为详尽。

三、四字命令的开启与配置

$HOME/Zoo.cfg

在这里插入图片描述
以上*为开启所有四字命令,也可以指定四字命令,指定几个开启

四、结合业务解读四字命令

conf

打印出配置的详细信息。比如端口、zookeeper数据及日志配置路径、最大连接数,session超时时间、serverId等

在这里插入图片描述

属性含义
clientPort客户端端口号
dataDir数据快照文件目录 默认情况下100000次事务操作生成一次快照
dataLogDir事物日志文件目录,生产环境中放在独立的磁盘上
tickTime服务器之间或客户端与服务器之间维持心跳的时间间隔(以毫秒为单位)
maxClientCnxns最大连接数
minSessionTimeout最小session超时 minSessionTimeout=tickTime* 2
maxSessionTimeoutmaxSessionTimeout 最大session超时
maxSessionTimeout=tickTime * 20
serverId服务器编号
initLimit集群中的follower服务器(F)与leader服务器(L)之间
初始连接时能容忍的最多心跳数
syncLimit集群中的follower服务器(F)与leader服务器(L)之间 请求和应答之间能容忍的最多心跳数
electionAlg0:基于UDP的LeaderElection
1:基于UDP的 FastLeaderElection
2:基于UDP和认证的FastLeaderElection
electionPort选举端口
quorumPort数据通信端口
peerType是否为观察者 1为观察者

cons

echo cons|nc localhost 2181 输出当前服务器所有客户端连接的详细信息,

在这里插入图片描述
看下带业务情况:

在这里插入图片描述

属性说明

ip:ip地址
port:端口号
queued:等待被处理的请求数,请求缓存在队列中
received:收到的包数
sent:发送的包数
sid:会话id
lop:最后的操作 GETD-读取数据 DELE-删除数据 CREA-创建数据
est:连接时间戳
to:超时时间
lcxid:当前会话的操作id
lzxid:最大事务id
lresp:最后响应时间戳
llat:最后/最新 延时
minlat:最小延时
maxlat:最大延时
avglat:平均延时

envi命令

envi:输出关于服务器的环境配置信息

shell终端输入:echo envi| nc localhost 2181

在这里插入图片描述

说明:

属性含义
zookeeper.version版本
host.name host信息
java.version java版本
java.vendor供应商
java.home运行环境所在目录
java.class.pathclasspath
java.library.path第三方库指定非java类包的位置(如:dll,so)
java.io.tmpdir默认的临时文件路径
java.compilerJIT 编译器的名称
os.nameLinux
os.archamd64
os.version3.10.0-514.el7.x86_64
user.namezookeeper
user.home/root
user.dir/sys/fs/cgroup
Os.memory.free空间内存
Os.memory.max最大空间
Os.memory.total最大内存

Stat命令

stat:输出服务器的详细信息与srvr相似,但是多了每个连接的会话信息

shell终端输入:echo stat| nc localhost 2181

说明:
Zookeeper version 版本
Latency min/avg/max 延时
Received 收包
Sent 发包
Connections 连接数
Outstanding 堆积数
Zxid 最大事物id
Mode 服务器角色
Node count 节点数

SRVR:和stat功能一致,但不会输出客户端连接情况

MNTR命令

mntr:列出服务器的健康状态,比stat更为详尽的服务器信息,截取部分信息如下:在这里插入图片描述
zk_version 版本
zk_avg_latency 平均延时
zk_max_latency 最大延时
zk_min_latency 最小延时
zk_packets_received 收包数
zk_packets_sent 发包数
zk_num_alive_connections 连接数
zk_outstanding_requests 堆积请求数
zk_server_state leader/follower 状态
zk_znode_count znode数量
zk_watch_count watch数量
zk_ephemerals_count 临时节点(znode)
zk_approximate_data_size 数据大小
zk_open_file_descriptor_count 打开的文件描述符数量
zk_max_file_descriptor_count 最大文件描述符数量

ruok命令

ruok:测试服务是否处于正确运行状态

shell终端输入:echo ruok| nc localhost 2181
在这里插入图片描述

dump命令

dump:列出未经处理的会话和临时节点

shell终端输入:echo dump| nc localhost 2181
在这里插入图片描述

wchs

echo wchs|nc localhost 2181,输出当前服务器管理的Watcher信息

在这里插入图片描述

wchp

echo wchp|nc localhost 2181,与wchs类似,但以节点路径为单位对Watcher信息进行归组;

在这里插入图片描述

五、实战应用

在实际应用中,运维人员可以通过定期执行这些四字命令来监控ZooKeeper集群的状态和性能。例如,可以使用mntr命令定期获取集群的健康状态信息,并使用statsrvr命令来评估集群的性能。同时,在出现故障时,可以使用consenvidump等命令来排查问题。

总之,ZooKeeper的四字命令是运维人员监控和调优ZooKeeper集群的重要工具。通过熟练掌握这些命令,运维人员可以更好地了解ZooKeeper的运行状态和性能,及时发现并解决潜在问题。

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

MATLAB大数计算工具箱及其用法

1. MATLAB大数工具箱Variable Precision Integer Arithmetic介绍 Variable Precision Integer Arithmetic是John DErrico 开发的大数运算工具箱,可以用完全任意大小的整数进行算术运算。支持vpi定义的数组和向量。 2.MATLAB代码 完整代码见: https://download.cs…

【野生动物识别系统】Python+深度学习+人工智能+卷积神经网络算法+TensorFlow+ResNet+图像识别

一、介绍 动物识别系统,使用Python作为主要开发语言,基于深度学习TensorFlow框架,搭建卷积神经网络算法。并通过对18种动物数据集进行训练,最后得到一个识别精度较高的模型。并基于Django框架,开发网页端操作平台&…

数据库_SQLite3

下载 1、更新软件源: sudo apt-get update 2、下载SQLite3: sudo apt-get install sqlite3 3、验证: sqlite3启动数据库,出现以下界面代表运行正常。输入 .exit 可以退出数据库 4、安装sqlite3的库 sudo apt-get install l…

PyTorch核心概念:从梯度、计算图到连续性的全面解析(三)

文章目录 Contiguous vs Non-Contiguous TensorTensor and ViewStrides非连续数据结构:Transpose( )在 PyTorch 中检查Contiguous and Non-Contiguous将不连续张量(或视图)转换为连续张量view() 和 reshape() 之间的区别总结 参考文献 Contig…

如何解决导入aioredis报错TypeError: duplicate base class TimeoutError的问题(轻松解决,亲测有效)

下面是根据你的要求撰写的文章: 文章目录 📖 介绍 📖🏡 演示环境 🏡📒 aioredis导包报错 📒📝 解决方案📝 小贴士⚓️ 相关链接 ⚓️📖 介绍 📖 最近在使用Python异步redis模块aioredis的时候遇到了一个错误,导包报错提示 TypeError: duplicate base cla…

基于Springboot+Android的智慧社区互助平台 (含源码数据库)

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

讨论一个mysql事务问题

最近在阅读一篇关于隔离级别的文章,文章中提到了一种场景,我们下面来分析一下。 文章目录 1、实验环境2、两个实验的语句执行顺序3、关于start transaction和start transaction with consistent snapshot4、实验结果解释4.1、实验14.2、实验24.3、调整实…

Kubernetes-编排工具篇-01-Kustomize与Helm对比

Kustomize与Helm对比 0、前言 K8s 是一个开源容器编排平台,可自动执行容器化应用程序的部署、扩展和管理。近年来,K8s 已成为采用云原生架构和容器化技术的组织的标准。 但是由于K8s的复杂性,所以很多公司以及开源组织都在开发相关的工具来…

确定图像的熵和各向异性 Halcon entropy_gray 解析

1、图像的熵 1.1 介绍 图像熵(image entropy)是图像“繁忙”程度的估计值,它表示为图像灰度级集合的比特平均数,单位比特/像素,也描述了图像信源的平均信息量。熵指的是体系的混乱程度,对于图像而言&#…

数字IC后端设计实现之Innovus自动修复Min Step DRC Violation方案

在实际IC后端项目中我们经常会遇到min step的DRC Violation,如下图所示。 在咱们IC后端训练营项目中也会遇到这类DRC Violation。这类DRC Violation的本质是出现Metal的Notch,即metal有凹槽。 如果是pg net的 Min Step问题,我们可以使用下面的…

进程相关内容

进程内容 进程类型守护进程进程的概念查看进程信息父子进程创建子进程进程结束 – exit/_exit进程回收 –wait waitpid 进程类型 交互进程 (Interactive Process) 交互进程是由用户通过终端或图形界面直接启动的进程,例如我们在命令行输入的命令。它通常需要等待用…

石墨舟氮气柜:半导体制造中的关键保护设备

石墨舟是由高纯度石墨材料制成的,主要用于承载硅片或其他基板材料通过高温处理过程,是制造半导体器件和太阳能电池片的关键设备之一。 石墨舟在空气中容易与氧气发生反应,尤其是在高温处理后,表面可能更为敏感;石墨舟具…

rabbitMq双节点高可用集群安装(亲测可用)

查询系统版本 cat /etc/redhat-release CentOS Linux release 7.7.1908 (Core) rabbitmq v3.9.13 (centos7支持比较大的版本了,后面版本貌似都是centos8以上) erlang erlang-23.3.4.11-1.el7.x86_64 (需要和rabbitmq版本匹配&…

简单介绍一下mvvm mvc mvp以及区别、历史

MVC(Model - View - Controller) 因MVC架构的灵活性,架构图形式很多,仅供参考 历史: MVC 是最早出现的软件架构模式之一,其历史可以追溯到 20 世纪 70 年代,最初被用于 Smalltalk - 80 环境。…

Nordic SoftDevice蓝牙主机操作流程

Nordic SoftDevice蓝牙主机操作流程 之前学习nordic的nus client 主机例程时做了些笔记,现在有空重新整理了一下发出来。 NRF_SDH_BLE_OBSERVER 宏介绍 这个宏可以设置多个BLE事件的回调函数,并按设置的优先级依次执行。这么一来,就可以将…

C++生成高斯分布随机数

简单实现 在 C 中&#xff0c;可以使用 头文件中的功能来生成正态分布&#xff08;高斯分布&#xff09;随机数。以下是一个示例&#xff0c;展示如何使用 C11 及以上版本的标准库生成正态分布随机数。 #include <iostream> #include <random> #include <cmat…

SL6115降压恒流 60V降压恒流芯片,高精度1%,PWM模拟调光

一、核心参数与性能 工作电压范围&#xff1a;5.5V至60V&#xff0c;宽输入电压范围使其能够适应多种应用场景。 最大输出电流&#xff1a;根据公开发布的信息&#xff0c;SL6115的最大输出电流可达到1.2A至1.5A&#xff0c;具体取决于不同版本或制造商的规格说明。这一高输出…

lnmp:自己的“百度网盘”

一、项目简介 有人会问&#xff0c;什么是lnmp储存&#xff0c;相信大家都用过百度网盘&#xff0c;他的原理和lnmp的作用相同&#xff0c;都是将数据储存在私有云中。LNMP也是用来储存自己的数据&#xff0c;可以假象成这是一个属于自己的数据库。 二、详细概述 所谓LNMP便是…

「实战应用」如何用图表控件LightningChart .NET在WPF中制作表格?(一)

LightningChart .NET完全由GPU加速&#xff0c;并且性能经过优化&#xff0c;可用于实时显示海量数据-超过10亿个数据点。 LightningChart包括广泛的2D&#xff0c;高级3D&#xff0c;Polar&#xff0c;Smith&#xff0c;3D饼/甜甜圈&#xff0c;地理地图和GIS图表以及适用于科…

鸿蒙进阶篇-网格布局 Grid/GridItem(二)

hello大家好&#xff0c;这里是鸿蒙开天组&#xff0c;今天让我们来继续学习鸿蒙进阶篇-网格布局 Grid/GridItem&#xff0c;上一篇博文我们已经学习了固定行列、合并行列和设置滚动&#xff0c;这一篇我们将继续学习Grid的用法&#xff0c;实现翻页滚动、自定义滚动条样式&…