什么?Zookeeper | 四字命令与常见命令

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/liupeifeng3514/article/details/82181598

Zookeeper 四字命令(Four Letter Words)


官网地址:http://zookeeper.apache.org/doc/r3.4.11/zookeeperAdmin.html#sc_zkCommands

ZooKeeper 支持某些特定的四字命令(The Four Letter Words)与其进行交互。它们大多是查询命令,用来获取 ZooKeeper 服务的当前状态及相关信息。用户在客户端可以通过nc(或telnet) 向 ZooKeeper 提交相应的命令。

ZooKeeper 四字命令如下:

类别 命令 描述
服务器状态 ruok 测试服务是否处于正确状态。如果服务器正在运行且未出错,则返回“imok ”,否则返回空。
conf 输出相关服务配置的详细信息(根据配置文件zoo.cfg)。3.3.0版本引入。
envi 输出关于服务环境的详细信息(区别于 conf命令),包括Zookeeper版本,Java版本和其他系统属性。
srvr 输出服务器的统计信息,包括延迟统计,znode数量和服务器运行模式(standalone/leader/followewr)。3.3.0版本引入。
stat 输出的统计信息和已连接的客户端。
srst 重置服务器的统计。
isro 显示服务器所属模式,只读(ro)模式或读写(rw)模式
客户端连接 dump 列出集合中所有会话和临时znode。这个命令只能在leader节点上有用。参考srvr命令。
cons 列出所有连接到这台服务器的客户端详细信息。包括”接受/发送”的包数量、会话id、操作延迟、最后的操作执行等。3.3.0版本引入。
crst 重置所有连接统计信息。3.3.0版本引入。
观察 wchs 列出服务器上所有watch的详细信息。3.3.0版本引入。
wchc 通过session列出服务器watch的详细信息,它的输出是一个与watch相关的会话的列表。
注意:如果watch数量较多,此命令会影响服务器的性能。3.3.0版本引入。
wchp 通过znode路径列出服务器上所有watch。它输出一个与session相关的路径。
注意:如果watch数量较多,此命令会影响服务器的性能。3.3.0版本引入。
监控 mntr 按Java属性格式列出服务器的统计信息,输出可用于检测集群健康状态的变量列表。适合用做Ganglia和Nagios等监控系统的信息源。3.4.0版本引入.。 注:除了mntr外,还可以通过JMX来提供Zookeeper服务器的统计信息。在安装目录src/contrib子目录下提供了相关监控工具和方法

实际执行效果


需要使用到nc(netcat)命令:

  • Linux安装命令:yum install nc
  • Windows安装:下载后添加环境变量,netcat

命令格式:echo [commond] | nc [ip] [port]

telnet 方式在windows上一直没有试成功,Linux上应该是可以的,不过没有试。

ruok

如果服务器没问题,则会返回‘imok’的信息。如下:

B8613A@DESKTOP-9KNMTOD MINGW64 ~/Desktop
$ echo ruok | nc 127.0.0.1 2181
imok
conf 和 envi
B8613A@DESKTOP-9KNMTOD MINGW64 ~/Desktop
$ echo conf | nc 127.0.0.1 2181
clientPort=2181     # 客户端端口号
dataDir=D:\tmp\zookeeper\version-2      # 数据文件目录
dataLogDir=D:\tmp\zookeeper\version-2   # 日志文件目录
tickTime=2000       # 间隔单位时间
maxClientCnxns=60   # 最大连接数
minSessionTimeout=4000      # 最小session超时
maxSessionTimeout=40000     # 最大session超时
serverId=0          # id

# 还有一些在集群模式下出现的信息:
initLimit:初始化时间  
syncLimit:心跳时间间隔  
electionAlg:选举算法 默认3  
electionPort:选举端口  
quorumPort:法人端口  
peerType:未确认
B8613A@DESKTOP-9KNMTOD MINGW64 ~/Desktop
$ echo envi | nc 127.0.0.1 2181
Environment:
zookeeper.version=3.4.13-2d71af4dbe22557fda74f9a9b4309b15a7487f03, built on 06/29/2018 04:05 GMT
host.name=DESKTOP-9KNMTOD
java.version=1.8.0_131
java.vendor=Oracle Corporation
java.home=D:\MyGreenApp\Java\jdk1.8.0_131\jre
java.class.path=D:\MyGreenApp\zookeeper-3.4.13\bin\..\build\classes;D:\MyGreenApp\zookeeper-3.4.13\bin\..\build\lib\*;D:\MyGreenApp\zookeeper-3.4.13\bin\..\zookeeper-3.4.13.jar;D:\MyGreenApp\zookeeper-3.4.13\bin\..\lib\audience-annotations-0.5.0.jar;D:\MyGreenApp\zookeeper-3.4.13\bin\..\lib\jline-0.9.94.jar;D:\MyGreenApp\zookeeper-3.4.13\bin\..\lib\log4j-1.2.17.jar;D:\MyGreenApp\zookeeper-3.4.13\bin\..\lib\netty-3.10.6.Final.jar;D:\MyGreenApp\zookeeper-3.4.13\bin\..\lib\slf4j-api-1.7.25.jar;D:\MyGreenApp\zookeeper-3.4.13\bin\..\lib\slf4j-log4j12-1.7.25.jar;D:\MyGreenApp\zookeeper-3.4.13\bin\..\conf
java.library.path=D:\MyGreenApp\Java\jdk1.8.0_131\bin;C:\WINDOWS\Sun\Java\bin;C:\WINDOWS\system32;C:\WINDOWS;C:\Program Files (x86)\Intel\iCLS Client\;C:\ProgramData\Oracle\Java\javapath;C:\Program Files\Intel\iCLS Client\;C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0\;C:\Program Files\Intel\WiFi\bin\;C:\Program Files\Common Files\Intel\WirelessCommon\;C:\Program Files (x86)\NVIDIA Corporation\PhysX\Common;C:\WINDOWS\system32;C:\WINDOWS;C:\WINDOWS\System32\Wbem;C:\WINDOWS\System32\WindowsPowerShell\v1.0\;C:\WINDOWS\System32\OpenSSH\;C:\MyApp\Git\cmd;C:\MyApp\Git\mingw64\bin;C:\MyApp\Git\usr\bin;C:\Program Files (x86)\Intel\Intel(R) Management Engine Components\DAL;C:\Program Files\Intel\Intel(R) Management Engine Components\DAL;C:\Program Files (x86)\Intel\Intel(R) Management Engine Components\IPT;C:\Program Files\Intel\Intel(R) Management Engine Components\IPT;D:\MyGreenApp\PuTTY\;D:\MyGreenApp\Java\jdk1.8.0_131\bin;D:\MyGreenApp\Java\jdk1.8.0_131\jre\bin;%M2_HOME%\bin;C:\Users\B8613A\AppData\Local\Microsoft\WindowsApps;D:\MyGreenApp\netcat-win32-1.12;;.
java.io.tmpdir=C:\Users\B8613A\AppData\Local\Temp\
java.compiler=<NA>
os.name=Windows 10
os.arch=amd64
os.version=10.0
user.name=B8613A
user.home=C:\Users\B8613A
user.dir=D:\MyGreenApp\zookeeper-3.4.13\bin

都是输出服务器相关的信息。通过上面对比可以看出不同,conf 命令输出的是Zookeeper的相关配置信息,而envi输出的是服务器服务环境的详细信息。

srvr

输出服务器的统计信息。

B8613A@DESKTOP-9KNMTOD MINGW64 ~/Desktop
$ echo srvr | nc 127.0.0.1 2181
Zookeeper version: 3.4.13-2d71af4dbe22557fda74f9a9b4309b15a7487f03, built on 06/29/2018 04:05 GMT
Latency min/avg/max: 0/0/0  # 延时
Received: 3         # 收包
Sent: 2             # 发包
Connections: 1      # 连接数
Outstanding: 0      # 堆积数
Zxid: 0x79          # 操作id
Mode: standalone    # leader/follower/standalone
Node count: 10      # 节点数

可以看出这台Zookeeper服务器的运行模式是standalone。

stat

输出的统计信息和已连接的客户端。

B8613A@DESKTOP-9KNMTOD MINGW64 ~/Desktop
$ echo stat | nc 127.0.0.1 2181
Zookeeper version: 3.4.13-2d71af4dbe22557fda74f9a9b4309b15a7487f03, built on 06/29/2018 04:05 GMT
Clients:
 /127.0.0.1:51615[0](queued=0,recved=1,sent=0)
 /127.0.0.1:51569[1](queued=0,recved=478,sent=478)

Latency min/avg/max: 0/0/117
Received: 484
Sent: 483
Connections: 2
Outstanding: 0
Zxid: 0x7a
Mode: standalone
Node count: 10
srst

重置服务器的统计。

B8613A@DESKTOP-9KNMTOD MINGW64 ~/Desktop
$ echo srst | nc 127.0.0.1 2181
Server stats reset.

以上为先重置服务器统计,然后查询状态,可以和上面的stat命令输出做比较,会发现Received和Send信息被重置了。
这个命令要区分下crst命令,重置的内容不一样。

isro

显示服务器所属模式,只读(ro)模式或读写(rw)模式。

B8613A@DESKTOP-9KNMTOD MINGW64 ~/Desktop
$ echo isro | nc 127.0.0.1 2181
rw
dump

列出集合中所有会话和临时znode。注意,该命令只在leader节点下有效。

B8613A@DESKTOP-9KNMTOD MINGW64 ~/Desktop
$ echo dump | nc 127.0.0.1 2181
SessionTracker dump:
Session Sets (3):
0 expire at Fri Jan 02 02:10:34 CST 1970:
0 expire at Fri Jan 02 02:10:44 CST 1970:
1 expire at Fri Jan 02 02:10:54 CST 1970:
        0x100032839320002
ephemeral nodes dump:
Sessions with Ephemerals (1):
0x100032839320002:
        /names/dddd
        /names/hhhhh
session id : 
        znode path  (1对多,处于队列中排队的session和临时节点)
cons

列出所有连接到这台服务器的客户端详细信息。

B8613A@DESKTOP-9KNMTOD MINGW64 ~/Desktop
$ echo cons | nc 127.0.0.1 2181
 /127.0.0.1:51703[0](queued=0,recved=1,sent=0)
 /127.0.0.1:51569[1](queued=0,recved=747,sent=747,sid=0x100032839320000,lop=PING,est=1535591211355,to=5000,lcxid=0x183,lzxid=0x7a,lresp=53967064,llat=0,minlat=0,avglat=0,maxlat=117)

可以看出,cons命令输出客户端包括”接受/发送”的包数量、会话id、操作延迟等。

ip=ip
port=端口
queued=所在队列
received=收包数
sent=发包数
sid=session id
lop=最后操作
est=连接时间戳
to=超时时间
lcxid=最后id(未确认具体id)
lzxid=最后id(状态变更id)
lresp=最后响应时间戳
llat=最后/最新 延时
minlat=最小延时
maxlat=最大延时
avglat=平均延时
crst

重置所有连接统计信息。

B8613A@DESKTOP-9KNMTOD MINGW64 ~/Desktop
$ echo stat | nc 127.0.0.1 2181
Zookeeper version: 3.4.13-2d71af4dbe22557fda74f9a9b4309b15a7487f03, built on 06/29/2018 04:05 GMT
Clients:
 /127.0.0.1:51734[1](queued=0,recved=34,sent=34)
 /127.0.0.1:51738[0](queued=0,recved=1,sent=0)

Latency min/avg/max: 0/0/44
Received: 290
Sent: 290
Connections: 2
Outstanding: 0
Zxid: 0x7c
Mode: standalone
Node count: 10

B8613A@DESKTOP-9KNMTOD MINGW64 ~/Desktop
$ echo crst | nc 127.0.0.1 2181
Connection stats reset.

B8613A@DESKTOP-9KNMTOD MINGW64 ~/Desktop
$ echo stat | nc 127.0.0.1 2181
Zookeeper version: 3.4.13-2d71af4dbe22557fda74f9a9b4309b15a7487f03, built on 06/29/2018 04:05 GMT
Clients:
 /127.0.0.1:51734[1](queued=0,recved=2,sent=2)
 /127.0.0.1:51743[0](queued=0,recved=1,sent=0)

Latency min/avg/max: 0/0/44
Received: 297
Sent: 297
Connections: 2
Outstanding: 0
Zxid: 0x7c
Mode: standalone
Node count: 10
mntr

按Java属性格式列出服务器的统计信息,监控服务器状态的,这里只列出数据结果供参考。

B8613A@DESKTOP-9KNMTOD MINGW64 ~/Desktop
$ echo mntr | nc 127.0.0.1 2181
zk_version      3.4.13-2d71af4dbe22557fda74f9a9b4309b15a7487f03, built on 06/29/2018 04:05 GMT
zk_avg_latency  0       # 平均延时
zk_max_latency  44      # 最大延时
zk_min_latency  0       # 最小延时
zk_packets_received     396     # 收包数
zk_packets_sent 396             # 发包数
zk_num_alive_connections        2   # 连接数
zk_outstanding_requests 0           # 堆积请求数
zk_server_state standalone          # leader/follower/standalone 状态
zk_znode_count  10                  # znode数量
zk_watch_count  0                   # watch数量
zk_ephemerals_count     0           # 临时节点(znode)
zk_approximate_data_size        146 # 数据大小
zk_fsync_threshold_exceed_count 0

# 集群环境下出现的信息
zk_open_file_descriptor_count=打开的文件描述符数量
zk_max_file_descriptor_count=最大文件描述符数量
zk_followers=follower数量
zk_synced_followers=同步的follower数量
zk_pending_syncs=准备同步数
wchs、wchc、wchp

这几个命令是和watch相关的, 因目前都是通过zkCli连接的,没有watch,所以只写出使用方法。如下:

echo wchs | nc 127.0.0.1 2181
echo wchc | nc 127.0.0.1 2181
echo wchp | nc 127.0.0.1 2181
connectsions=连接数
watch-paths=watch节点数
watchers=watcher数量

session id 对应 path

path 对应 session id

猜你喜欢

转载自blog.csdn.net/liupeifeng3514/article/details/82181598