文章目录
- 四字监控命令
- 0. 官方文档
- 1. conf命令
- 2. cons命令
- 3. crst命令
- 4. dump命令
- 5. envi命令
- 6. ruok命令
- 7. stat命令
- 8. srst命令
- 9. wchs命令
- 10. wchc命令(一般不用)
- 11. wchp命令(一般不用)
- 12. mntr命令
四字监控命令
zookeeper支持某些特定的四字命令与其的交互。它们大多是查询命令,用来获取zookeeper服务的当前状态及相关信息。用户在客户端可以用过telnet或nc向zookeeper提交相应的命令。
zookeeper常用的四字命令见下表所示:
| 命令 | 描述 |
|---|---|
| conf | 输出相关服务配置的详情信息。如:端口、zk数据及日志配置路径、最大连接数,session超时时间、serverID等。 |
| cons | 列出所有连接到这台服务器的客户端连接/会话的详细信息。包括“接受/发送"的包数量、sessionID、操作延迟、最后的操作执行等信息。 |
| crst | 重置当前这台服务器的所有连接/会话的统计信息 |
| dump | 列出未经处理的会话和临时节点 |
| envi | 输出关于服务器的环境详细信息 |
| ruok | 测试服务是否处于正确的运行状态。如果正常返回"imok",否则返回空。 |
| stat | 输出服务器的详细信息:发送/接收包数量、连接数、模式(leader/follower)、节点总数、延迟。所有客户端的列表。 |
| srst | 重置server状态 |
| wchs | 列出服务器watches的简洁信息:连接总数、watching节点总数和watches总数。 |
| wchc | 通过session分组,列出watch的所有节点,它的输出是一个与watch相关的会话的节点列表。 |
| mntr | 列出集群的健康状态。包括”接收/发送"的包数量、操作延迟、当前服务模式(leader /follower)、节点总数、watch总数、临时节点总数。 |
nc命令工具安装:
#root用户安装
# 下载安装包
yum install nc.x86_64
# 查看集群的健康状态
echo mntr | nc localhost 2181
nc命令在执行时会创建一个会话。
0. 官方文档
https://zookeeper.apache.org/doc/current/zookeeperAdmin.html#sc_4lw

1. conf命令
输出相关服务配置的详细信息
echo conf | nc 127.0.0.1 2181
| 属性 | 含义 |
|---|---|
| clientPort | 客户端端口号 |
| dataDir | 数据快照文件目录 默认情况下10万吃事务操作生成一次快照 |
| dataLogDir | 事务日志文件目录,生产环境中放在独立的磁盘上 |
| tickTime | 服务器之间或客户端与服务器之间维持心跳的时间间隔(ms) |
| maxClientCnxns | 最大连接数 |
| minSessionTimeout | 最小session超时 minSessionTimeout=tickTime*2 |
| maxSessionTimeout | 最大session超时 maxSessionTimeout=tickTime*20 |
| serverId | 服务器编号 |
| initLimit | 集群中的follower服务器(F)与leader服务器(L)之间初始连接时能容忍的最多心跳数 |
| syncLimit | 集群中的follower服务器(F)与leader服务器(L)之间 请求和应答值间能容忍的最多心跳数。 |
| electionAlg | 选举算法–> 0:基于UDP的LeaderElection。 1:基于UDP的FastLeaderElection。 2:基于UDP和认证的FastLeaderElection。 3:基于TCP的FastLeaderElection,在3.4.14版本中,默认是3 |
| electionPort | 选举端口 |
| quorumPort | 数据通信端口 |
| peerType | 是否为观察者,1为观察者 |
2. cons命令
列出所有连接到这台服务器的客户端连接/会话的详细信息
echo cons | nc 127.0.0.1 2181
| 属性 | 含义 |
|---|---|
| ip | ip地址 |
| port | 端口号 |
| queued | 等待被处理的请求数,请求缓存在队列中 |
| received | 收到的包数 |
| sent | 发送的包数 |
| sid | 会话ID |
| lop | 最后的操作 GETD-读数据 DELE-删除数据 CREA-创建数据 |
| est | 连续时间戳 |
| to | 超时时间 |
| lcxid | 当前会话的操作id 每次操作+1 |
| lzxid | 最大事务id |
| lresp | 最后响应时间戳 |
| llat | 最后/最新 延时 |
| minlat | 最小延时 |
| maxlat | 最大延时 |
| 平均延时 |
3. crst命令
重置当前这台服务器所有连接/会话的统计信息
echo crst | nc 127.0.0.1 2181
4. dump命令
列出未经处理的会话和临时节点
echo dump | nc 127.0.0.1 2181
| 属性 | 含义 |
|---|---|
| session id | znode path(1对多,处于队列中排队的session和临时节点) |
5. envi命令
输出关于服务器的环境配置信息
echo envi | nc 127.0.0.1 2181
| 属性 | 含义 |
|---|---|
| zookeeper.verison | 版本 |
| host.name | host信息 |
| java.version | java版本 |
| java.vendor | 供应商 |
| java.home | 运行环境所在目录 |
| java.class.path | classpath |
| java.libraray.path | 第三方库指定非java类包的位置(如:dll,so) |
| java.io.tempdir | 默认的临时文件路径 |
| java.compiler | JIT编译器的名称 |
| os.name | Linux |
| os.arch | amd |
| os.version | 3.10.0-1062.el7.x86_64 |
| user.name | root |
| user.home | /root |
| user.dir | /software/Zookeeper/group/zookeeper2181/bin |
6. ruok命令
测试服务是否处于正确运行状态
echo ruok | nc 127.0.0.1 2181
7. stat命令
输出服务器的详细信息与srvr相似,但是多了每个连接的会话信息
echo stat | nc 127.0.0.1 2181
| 属性 | 含义 |
|---|---|
| Zookeeper version | 版本 |
| Latency min/avg/max | 延时 |
| Received | 接收到的包数 |
| Sent | 发送的包数 |
| Connections | 连接数 |
| Outstanding | 堆积数 |
| Zxid | 最大事务ID |
| Mode | 服务器角色 |
| Node count | 节点数 |
8. srst命令
重置server状态
echo srst | nc 127.0.0.1 2181
9. wchs命令
列出服务器watches的简洁信息
echo wchs | nc 127.0.0.1 2181
| 属性 | 含义 |
|---|---|
| connections | 连接数 |
| watch-paths | watch节点数 |
| watchers | watcher数量 |
10. wchc命令(一般不用)
通过session分组,列出watch的所有节点,它输出的是一个与watch相关的会话的节点列表。
echo wchc | nc 127.0.0.1 2181
问题:
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}"
11. wchp命令(一般不用)
通过路径分组,列出所有的watch的session id信息。
echo wchp | nc 127.0.0.1 2181
问题:
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}"
12. mntr命令
列出服务器的健康状态
echo mntr | nc localhost 2181
| 属性 | 含义 |
|---|---|
| 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 | 最大文件描述符数量 |



















