zookeeper 四字命令操作
ZooKeeper 3.4.6支持某些特定的四字命令字母与其的交互。它们大多是查询命令,用来获取 ZooKeeper 服务的当前状态及相关信息。用户在客户端可以通过 telnet
或 nc
向 ZooKeeper
提交相应的命令。
其中 stat
、srvr
、cons
三个命令比较类似:
stat
提供服务器统计和客户端连接的一般信息;srvr
只有服务的统计信息;cons
提供客户端连接的更加详细的信息。
使用方式,在终端中输入:
1 | echo mntr | nc localhost 2181 |
命令 | 示例 | 描述 | |
---|---|---|---|
conf | `echo conf \ | nc localhost 2181` | (New in 3.3.0)输出相关服务配置的详细信息。比如端口、zk数据及日志配置路径、最大连接数,session超时时间、serverId等 |
cons | `echo cons \ | nc localhost 2181` | (New in 3.3.0)列出所有连接到这台服务器的客户端连接/会话的详细信息。包括“接受/发送”的包数量、session id 、操作延迟、最后的操作执行等信息。 |
crst | `echo crst \ | nc localhost 2181` | (New in 3.3.0)重置当前这台服务器所有连接/会话的统计信息 |
dump | `echo dump \ | nc localhost 2181` | 列出未经处理的会话和临时节点(只在leader上有效)。 |
envi | `echo envi \ | nc localhost 2181` | 输出关于服务器的环境详细信息(不同于conf命令),比如host.name、java.version、java.home、user.dir=/data/zookeeper-3.4.6/bin之类信息 |
ruok | `echo ruok \ | nc localhost 2181` | 测试服务是否处于正确运行状态。如果正常返回”imok”,否则返回空。 |
srst | `echo srst \ | nc localhost 2181` | 重置服务器的统计信息 |
srvr | `echo srvr \ | nc localhost 2181` | (New in 3.3.0)输出服务器的详细信息。zk版本、接收/发送包数量、连接数、模式(leader/follower)、节点总数。 |
stat | `echo stat \ | nc localhost 2181` | 输出服务器的详细信息:接收/发送包数量、连接数、模式(leader/follower)、节点总数、延迟。 所有客户端的列表。 |
wchs | `echo wchs \ | nc localhost 2181` | (New in 3.3.0)列出服务器watches的简洁信息:连接总数、watching节点总数和watches总数 |
wchc | `echo wchc \ | nc localhost 2181` | (New in 3.3.0)通过session分组,列出watch的所有节点,它的输出是一个与 watch 相关的会话的节点列表。如果watches数量很大的话,将会产生很大的开销,会影响性能,小心使用。 |
wchp | `echo wchp \ | nc localhost 2181` | (New in 3.3.0)通过路径分组,列出所有的 watch 的session id信息。它输出一个与 session相关的路径。如果watches数量很大的话,将会产生很大的开销,会影响性能,小心使用。 |
mntr | `echo mntr \ | nc localhost 2181` | (New in 3.4.0)列出集群的健康状态。包括“接受/发送”的包数量、操作延迟、当前服务模式(leader/follower)、节点总数、watch总数、临时节点总数。 |
示例:
查看 zookeeper 版本
1 | echo stat | nc localhost 2181 |
返回值
1 | Zookeeper version: 3.5.5-390fe37ea45dee01bf87dc1c042b5e3dcce88653, built on 05/03/2019 12:07 GMT |
如遇查询是出现如下报错:
1 | stat is not executed because it is not in the whitelist. |
解决方法:
以下方法二选一即可
修改
$zookeeper/bin/zkServer.sh
文件bin/zkServer.sh 1
2
3
4
5
6
7
8...
找到如下内容
else
echo "JMX disabled by user request" >&2
ZOOMAIN="org.apache.zookeeper.server.quorum.QuorumPeerMain"
fi
在后面插入如下新内容
ZOOMAIN="-Dzookeeper.4lw.commands.whitelist=* ${ZOOMAIN}"保存退出后重启 zookeeper 即可。
修改配置文件
$zookeeper/conf/zoo.cfg
(推荐)在
zoo.cfg
中添加如下配置项conf/zoo.cfg 1
2#开启四字命令
* =保存退出后重启 zookeeper 即可。
备注:不建议在生产环境开启四字命令配置
参考文章:
文章转载自: https://www.cnblogs.com/kuku0223/p/8428341.html
- 本文标题:zookeeper 四字命令操作
- 本文作者:akiya
- 本文链接:https://little-star.love/posts/c7ce3158/
- 版权声明:本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明出处!