zookeeper The Four Letter Words Commands

我们在架设好zookeeper服务后,一般会使用监控系统来对zookeeper的服务状态进行监控,比如grafana,Prometheus等,在这个场景下简单快速的获取服务状态是很有必要的,所以zookeeper为我们提供了一些这方面的命令工具,官方文档为:ZooKeeper Commands: The Four Letter Words

监控相关的资料以前我也有写,请看: 观察系统解决了什么它又需要什么

zookeeper提供的一系列四字(The Four Letter Words)命令,方便我们跟服务器进行各种交互,来确认服务器当前的工作情况(这也是服务器监控告警的基础),我们传递四个字母的字符串给zookeeper,zookeeper会返回一些有用的信息.

zookeeper四字命令功能表

命令 功能
conf 输出相关服务配置的详细信息。
cons 列出所有连接到服务器的客户端的完全的连接 /会话的详细信息。包括“接受 / 发送”的包数量、会话 id 、操作延迟、最后的操作执行等等信息.
dump 列出未经处理的会话和临时节点.
envi 输出关于服务环境的详细信息(区别于 conf命令).
reqs 列出未经处理的请求
ruok 测试服务是否处于正确状态。如果确实如此,那么服务返回“imok ”,否则不做任何相应.
stat 输出关于性能和连接的客户端的列表.
wchs 列出服务器 watch的详细信息.
wchc 通过 session列出服务器 watch 的详细信息,它的输出是一个与watch相关的会话的列表.
wchp 通过路径列出服务器 watch的详细信息。它输出一个与 session相关的路径.

代码演示

下面我们对zookeeper的The Four Letter Words做一些简单的演示

查看服务状态

[thinktik@ThinkOnline bin]$ echo stat|nc 127.0.0.1 2181
stat is not executed because it is not in the whitelist.

默认情况下The Four Letter Words是没有加入白名单的,这意味着你需要将他们加入白名单后才能争取的执行,否则会报错xxx is not executed because it is not in the whitelist.

解决方案很简单,加入这些命令到白名单即可,我们可以修改zoo.cfg然后重启zookeeper即可
zookeeper The Four Letter Words Commands_第1张图片
更多的细节这篇文章也不错:https://blog.csdn.net/Ellen5203/article/details/105706773

修改成功后我们就可以正常使用了,下面是一些演示

[thinktik@ThinkOnline bin]$ echo stat|nc 127.0.0.1 2181
Zookeeper version: 3.6.2--803c7f1a12f85978cb049af5e4ef23bd8b688715, built on 09/04/2020 12:44 GMT
Clients:
 /127.0.0.1:41556[0](queued=0,recved=1,sent=0)

Latency min/avg/max: 0/0.0/0
Received: 1
Sent: 0
Connections: 1
Outstanding: 0
Zxid: 0x5e
Mode: standalone
Node count: 8

测试是否启动了该Server,若回复imok表示已经启动

[thinktik@ThinkOnline bin]$ echo ruok|nc 127.0.0.1 2181
imok

查看连接到服务器的所有客户端的会话信息

[thinktik@ThinkOnline bin]$ echo cons|nc 127.0.0.1 2181
 /127.0.0.1:41566[0](queued=0,recved=1,sent=0)

所以The Four Letter Words还是在服务监控领域很实用的,剩余的命令我就不一一列举了,大家有需要时自己研究.

同时zkServer本身提供的一些命令参数也不错,放在这里给大家参考.

zkServer 小技巧

查看服务器状态

[thinktik@ThinkOnline bin]$ ./zkServer.sh status
/home/thinktik/env/jdk11/bin/java
ZooKeeper JMX enabled by default
Using config: /home/thinktik/env/zookeeper/bin/../conf/zoo.cfg
Client port found: 2181. Client address: localhost. Client SSL: false.
Mode: standalone

启动服务器

[thinktik@ThinkOnline bin]$ ./zkServer.sh start
/home/thinktik/env/jdk11/bin/java
ZooKeeper JMX enabled by default
Using config: /home/thinktik/env/zookeeper/bin/../conf/zoo.cfg
Starting zookeeper ... STARTED

关闭服务器

[thinktik@ThinkOnline bin]$ ./zkServer.sh stop
/home/thinktik/env/jdk11/bin/java
ZooKeeper JMX enabled by default
Using config: /home/thinktik/env/zookeeper/bin/../conf/zoo.cfg
Stopping zookeeper ... STOPPED

本文原创链接: zookeeper The Four Letter Words Commands

你可能感兴趣的:(zookeeper)