文章目录

  • 四字监控命令
  • 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服务的当前状态及相关信息。用户在客户端可以用过telnetnc向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

zookeeper 四字命令 内存泄漏 zookeeper禁止四字命令_zookeeper 四字命令 内存泄漏

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

最大文件描述符数量