Salmon的全栈知识 Salmon的全栈知识
首页
  • JavaSE
  • JavaWeb
  • Spring生态
  • JUC
  • JVM
  • Netty
  • Java各版本特性
  • 23种设计模式
  • Maven
  • Java常用框架
  • Dubbo
  • OpenFeign
  • Nacos
  • Zookeeper
  • Sentinel
  • Seata
  • SpringCloud Gateway
  • Apollo
  • Eureka
  • Go基础
  • Gin
  • SQL数据库

    • MySQL
    • Oracle
  • NoSQL数据库

    • Redis
    • MongoDB
    • ElasticSearch
  • 消息中间件

    • RabbitMQ
    • RocketMQ
    • Kafka
    • ActiveMQ
    • MQTT
    • NATS
  • 网关中间件

    • Nginx
  • Linux
  • Docker
  • Git
  • K8s
  • Solidity
  • Java
  • 计算机网络
  • 操作系统
GitHub (opens new window)
首页
  • JavaSE
  • JavaWeb
  • Spring生态
  • JUC
  • JVM
  • Netty
  • Java各版本特性
  • 23种设计模式
  • Maven
  • Java常用框架
  • Dubbo
  • OpenFeign
  • Nacos
  • Zookeeper
  • Sentinel
  • Seata
  • SpringCloud Gateway
  • Apollo
  • Eureka
  • Go基础
  • Gin
  • SQL数据库

    • MySQL
    • Oracle
  • NoSQL数据库

    • Redis
    • MongoDB
    • ElasticSearch
  • 消息中间件

    • RabbitMQ
    • RocketMQ
    • Kafka
    • ActiveMQ
    • MQTT
    • NATS
  • 网关中间件

    • Nginx
  • Linux
  • Docker
  • Git
  • K8s
  • Solidity
  • Java
  • 计算机网络
  • 操作系统
GitHub (opens new window)
npm

(进入注册为作者充电)

  • 简介
  • 数据模型
  • 单机安装
  • 常用shell命令
  • Acl权限控制
  • JavaAPI
  • 事件监听机制
  • 集群搭建
  • zab协议
  • leader选举
  • observer角色及其配置
  • zookeeperAPI连接集群
  • 开源客户端curator介绍
  • 四字监控命令
    • 1、conf命令
    • 2、cons命令
    • 3、crst命令
    • 4、dump命令
    • 5、envi命令
    • 6、ruok命令
    • 7、stat命令
    • 8、srst命令
    • 9、wchs命令
    • 10、wchc命令
    • 11、wchp命令
    • 12、mntr命令
  • 图形化的客户端工具(ZooInspector)
  • taokeeper监控工具的使用
  • 《Zookeeper》笔记
Salmon
2025-07-22
目录

四字监控命令

zooKeeper支持某些特定的四字命令与其的交互。它们大多是查询命令,用来获取 zooKeeper服务的当前状态及相关信息。用户在客户端可以通过 telnet 或 nc 向 zooKeeper提交相应的命令。 zooKeeper常用四字命令见下表 所示:

命令 描述
conf 输出相关服务配置的详细信息,如端口、zk数据及日志配置路径、最大连接数、session超时时间、serverId 等。
cons 列出所有连接到这台服务器的客户端连接/会话的详细信息,包括“接受/发送”的包数量、session id、操作延迟、最后的操作执行等信息。
crst 重置当前这台服务器所有连接/会话的统计信息。
dump 列出未经处理的会话和临时节点。
envi 输出关于服务器的环境详细信息。
ruok 测试服务是否处于正确运行状态。如果正常返回 "imok",否则返回空。
stat 输出服务器的详细信息:接收/发送包数量、连接数、模式(leader/follower)、节点总数、延迟,以及所有客户端的列表。
srst 重置 server 状态。
wchs 列出服务器 watches 的简洁信息:连接总数、watching 节点总数和 watches 总数。
wchc 通过 session 分组,列出 watch 的所有节点,输出与 watch 相关的会话的节点列表。
mntr 列出集群的健康状态,包括“接受/发送”的包数量、操作延迟、当前服务模式(leader/follower)、节点总数、watch 总数、临时节点总数。

nc命令工具安装:

#root用户安装
#下载安装包
wget http://vault.centos.org/6.6/os/x86_64/Packages/nc-1.84-22.el6.x86_64.rpm
#rpm安装
rpm -iUv nc-1.84-22.el6.x86_64.rpm

使用方式,在shell终端输入:echo mntr | nc localhost 2181

# 1、conf命令

conf:输出相关服务配置的详细信息

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

属性 含义
clientPort 客户端连接 Zookeeper 的端口号。
dataDir 数据快照文件目录,Zookeeper 会默认每进行 100,000 次事务操作生成一次快照,保存在该目录中。
dataLogDir 事务日志文件目录,建议在生产环境中将其配置为独立磁盘,提高性能与可靠性。
tickTime Zookeeper 服务器之间或客户端与服务器之间维持心跳的时间间隔(单位:毫秒)。
maxClientCnxns 同一台客户端主机允许的最大连接数。超过该限制的连接会被拒绝。
minSessionTimeout 会话的最小超时时间,默认值为 tickTime * 2。
maxSessionTimeout 会话的最大超时时间,默认值为 tickTime * 20。
serverId 当前服务器在集群中的唯一标识编号。
initLimit follower 在初始连接 leader 时允许的最大心跳数,超过后认为连接失败。
syncLimit follower 在请求和接收 leader 响应之间容忍的最大心跳数,超过后认为同步失败。
electionAlg 选举算法类型:0 - 基于 UDP 的 LeaderElection(已弃用)1 - 基于 UDP 的 FastLeaderElection(已弃用)2 - 基于 UDP + 认证的 FastLeaderElection(已弃用)3 - 基于 TCP 的 FastLeaderElection(默认,推荐)⚠️ 除算法 3 外,其余已废弃,未来版本将不再支持。
electionPort 节点间用于 Leader 选举的通信端口。
quorumPort 节点间用于数据同步和状态通信的端口。
peerType 节点角色类型:1 表示观察者(Observer),其余为参与者(Participant)。

# 2、cons命令

cons:列出所有连接到这台服务器的客户端连接/会话的详细信息

shell终端输入: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 平均延时

# 3、crst命令

crst:重置当前这台服务器所有连接/会话的统计信息

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

# 4、dump命令

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

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

属性 含义
session id znode path(一对多,处于队列中排队的 session 和临时节点的映射关系)

# 5、envi命令

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

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

# 6、ruok命令

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

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

# 7、stat命令

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

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

属性 含义
zookeeper.version 版本
host.name host 信息
java.version Java 版本
java.vendor 供应商
java.home 运行环境所在目录
java.class.path classpath
java.library.path 第三方库指定非 Java 类包的位置(如:dll,so)
java.io.tmpdir 默认的临时文件路径
java.compiler JIT 编译器的名称
os.name Linux
os.arch amd64
os.version 3.10.0-514.el7.x86_64
user.name zookeeper
user.home /home/zookeeper
user.dir /home/zookeeper/zookeeper2181/bin

# 8、srst命令

srst:重置server状态

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

# 9、wchs命令

wchs:列出服务器watches的简洁信息

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

属性 含义
connectsions 连接数
watch-paths watch节点数
watchers watcher数量

# 10、wchc命令

wchc:通过session分组,列出watch的所有节点,它的输出的是一个与 watch 相关的会话的节点列表

问题:

wchc is not executed because it is not in the whitelist.

解决方法:

# 修改启动指令 zkServer.sh 
# 注意找到这个信息
else
 echo "JMX disabled by user request" >&2
 ZOOMAIN="org.apache.zookeeper.server.quorum.QuorumPeerMain" 
fi
# 下面添加如下信息
ZOOMAIN="-Dzookeeper.4lw.commands.whitelist=* ${ZOOMAIN}"

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

# 11、wchp命令

wchp:通过路径分组,列出所有的 watch 的session id信息

问题:

wchp is not executed because it is not in the whitelist.

解决方法:

# 修改启动指令 zkServer.sh 
# 注意找到这个信息
else
 echo "JMX disabled by user request" >&2
 ZOOMAIN="org.apache.zookeeper.server.quorum.QuorumPeerMain" 
fi
# 下面添加如下信息
ZOOMAIN="-Dzookeeper.4lw.commands.whitelist=* ${ZOOMAIN}"

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

# 12、mntr命令

mntr:列出服务器的健康状态

属性 含义
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 最大文件描述符数量

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

上次更新: 2025/07/23, 07:26:30
开源客户端curator介绍
图形化的客户端工具(ZooInspector)

← 开源客户端curator介绍 图形化的客户端工具(ZooInspector)→

Theme by Vdoing | Copyright © 2022-2025 Salmon's Blog
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式