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

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.lryc.cn/news/480304.html

相关文章:

  • Error: `slot-scope` are deprecated报错解决
  • Excel(图例)中使用上标下标
  • 熔断和降级
  • 【学习笔记】Linux系统基础知识 6 —— su命令详解
  • docker-compose命令介绍
  • Spring学习笔记_29——@Transactional
  • github使用基础
  • Flink-Kafka-Connector
  • 远程终端vim里使用系统剪切板
  • 底层视角看C语言
  • 【点云学习笔记】——分割任务学习
  • Qt——窗口
  • InfluxDB性能优化指南
  • 负载均衡式在线oj项目开发文档2(个人项目)
  • ssm081高校实验室管理系统的设计与实现+vue(论文+源码)_kaic
  • GitLab基于Drone搭建持续集成(CI/CD)
  • 用GPB外链打造长期稳定的SEO优势!
  • 第11章 内连接与外连接
  • C++ 游戏开发:打造高效、性能优越的游戏世界
  • 太速科技-440-基于XCVU440的多核处理器多输入芯片验证板卡
  • 澳鹏通过高质量数据支持 Onfido 优化AI反欺诈功能
  • 基于ECS实例搭建Hadoop环境
  • 关于vue如何监听route和state以及各自对应的实际场景
  • 【计网不挂科】计算机网络期末考试(综合)——【选择题&填空题&判断题&简述题】完整题库
  • Linux(CentOS)设置防火墙开放8080端口,运行jar包,接收请求
  • 对比:生成对抗网络(GANs)和变分自编码器(VAEs)
  • sqlserver inner join on 条件是包含 怎么写
  • 开源 AI 智能名片 S2B2C 商城小程序在微商内容展示中的应用与价值
  • Codeforces Round 984 (Div. 3) (A~E)
  • pytorch3d报错:RuntimeError: Not compiled with GPU support.