zookeeper 支持某些特定的四字命令与其交互,用户获取 zookeeper 服务的当前状态及相关信息,用户在客户端可以通过 telenet 或者 nc(netcat) 向 zookeeper 提交相应的命令。
一、安装 nc 命令
$ yum install nc # centos
或
$ sudo apt install netcat # ubuntu
四字命令格式:
echo [command] | nc [ip] [port]
二、常用四字命令
ZooKeeper 常用四字命令主要如下:
四字命令 | 功能描述 |
---|---|
conf | 3.3.0版本引入的。打印出服务相关配置的详细信息。 |
cons | 3.3.0版本引入的。列出所有连接到这台服务器的客户端全部连接/会话详细信息。包括"接受/发送"的包数量、会话id、操作延迟、最后的操作执行等等信息。 |
crst | 3.3.0版本引入的。重置所有连接的连接和会话统计信息。 |
dump | 列出那些比较重要的会话和临时节点。这个命令只能在leader节点上有用。 |
envi | 打印出服务环境的详细信息。 |
reqs | 列出未经处理的请求 |
ruok | 测试服务是否处于正确状态。如果确实如此,那么服务返回"imok",否则不做任何相应。 |
stat | 输出关于性能和连接的客户端的列表。 |
srst | 重置服务器的统计。 |
srvr | 3.3.0版本引入的。列出连接服务器的详细信息 |
wchs | 3.3.0版本引入的。列出服务器watch的详细信息。 |
wchc | 3.3.0版本引入的。通过session列出服务器watch的详细信息,它的输出是一个与watch相关的会话的列表。 |
wchp | 3.3.0版本引入的。通过路径列出服务器watch的详细信息。它输出一个与session相关的路径。 |
mntr | 3.4.0版本引入的。输出可用于检测集群健康状态的变量列表 |
参考官方链接:ZooKeeper: Because Coordinating Distributed Systems is a Zoo
三、如何使用Nc命令
echo mntr | nc ip 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 | 主从状态 |
zk_znode_count | znode 数 |
zk_watch_count | watch 数 |
zk_ephemerals_count | 临时节点数 |
zk_approximate_data_size | 近似数据总和大小 |
zk_open_file_descriptor_count | 打开 文件描述符 数 |
zk_max_file_descriptor_count | 最大 文件描述符 数 |
leader才有的指标 | |
zk_followers | Follower 数 |
zk_synced_followers | 已同步的 Follower 数 |
zk_pending_syncs | 阻塞中的 sync 操作 |
四、常见操作
conf: eZookeeper服务器当前节点配置信息:
cons:输出当前服务器所有客户端连接的详细信息:(线上环境谨慎使用)
crst: 重置所有客户端连接统计信息
dump: 输出当前集群的所有会话消息(Lead谨慎使用)
envi:输出服务器运行时的环境信息 ![]
ruok:输出当前Zookeeper是否正在运行。是,则返回 'imok'。
stat:服务器运行时状态信息:
srvr:和stat功能一致,但不会输出客户端连接情况;
srst:重置所有服务器统计信息;
wchs:输出当前服务器管理的Watcher信息
wchp:与wchs类似,但以节点路径为单位对Watcher信息进行归组;
mntr:比stat更为详尽的服务器信息,
wchc:通过 session 列出服务器 watch 的详细信息,它的输出是一个与 watch 相关的会话的列表。
req: 列出未经处理的请求。
kill:关掉server(谨慎操作)