使用 tclnet
和 nc
向zookeeper节点发送监控命令,可以获取节点的状态信息
四字监控命令
命令 | 描述 |
---|---|
conf | 输出相关服务配置的详细信息。比如端口号、zk 数据以及日志配置路径、最大连接数,session 超时、serverId 等 |
cons | 列出所有连接到这台服务器的客户端连接/会话的详细信息。包括"接收/发送"的包数量、sessionId 、操作延迟、最后的操作执行等信息 |
crst | 重置当前这台服务器所有连接/会话的统计信息 |
dump | 列出未经处理的会话和临时节点,这仅适用于领导者 |
envi | 处理关于服务器的环境详细信息 |
ruok | 测试服务是否处于正确运行状态。如果正常返回"imok ",否则返回空 |
stat | 输出服务器的详细信息:接收/发送包数量、连接数、模式(leader/follower )、节点总数、延迟。所有客户端的列表 |
srst | 重置server 状态 |
wchs | 列出服务器watchers 的简洁信息:连接总数、watching 节点总数和watches 总数 |
wchc | 通过session分组,列出watch的所有节点,它的输出是一个与watch 相关的会话的节点信息,根据watch 数量的不同,此操作可能会很昂贵(即影响服务器性能),请小心使用 |
mntr | 列出集群的健康状态。包括"接收/发送"的包数量、操作延迟、当前服务模式(leader/follower )、节点总数、watch 总数、临时节点总数 |
nc命令使用
如果没有安装 nc
工具,请先安装
yum install -y nc
命令发送格式,以 nc
命令为例
echo mntr | nc 192.168.159.129 2181
发送了 mntr
命令到 192.168.159.129 的zookeeper节点
Zookeeper配置
也许会发生以下问题
[root@localhost ~]# echo mntr | nc 192.168.159.129 2181
mntr is not executed because it is not in the whitelist.
需要在zoo.cfg配置下白名单,这里直接允许所有人访问
4lw.commands.whitelist=*
然后重启zookeeper服务