关于zookeeper: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即可

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

评论

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

这个站点使用 Akismet 来减少垃圾评论。了解你的评论数据如何被处理