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即可
image
更多的细节这篇文章也不错: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)