乐趣区

关于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

退出移动版