分布式服务框架ZooKeeper:四字命令
ZooKeeper 支持某些特定的四字命令(The Four Letter Words)与其进行交互。它们大多是查询命令,用来获取 ZooKeeper 服务的当前状态及相关信息。用户在客户端可以通过nc(或telnet)向 ZooKeeper 提交相应的命令。 四字命令ZooKeeper 四字命令如下:类别命令描述
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子目录下提供了相关监控工具和方法 |
使用
通过Linux中的netcat(nc)工具来执行上面的命令。
ruok
echo ruok | nc 127.0.0.1 2180
如果服务器没问题,则会返回‘imok’的信息。如下:
mungo@ubuntu:bin$ echo ruok | nc 127.0.0.1 2180
imok
conf和envi
echo conf | nc 127.0.0.1 2180
echo conf | nc 127.0.0.1 2181
由此可见,conf命令输出的是zoo.cfg配置文件里配置的一些Zookeeper的配置信息。
echo envi | nc 127.0.0.1 2180
echo envi | nc 127.0.0.1 2181
都是输出服务器相关的信息。通过上面对比可以看出不同,conf 命令输出的是Zookeeper的相关配置信息,而envi输出的是服务器服务环境的详细信息。
srvr
输出服务器的统计信息。
echo srvr | nc 127.0.0.1 2180
可以看出这台Zookeeper服务器的运行模式是follower.
echo srvr | nc 127.0.0.1 2181
可以看出这台Zookeeper服务器的运行模式是leader.
因为我已伪集群的模式配置了两台Zookeeper,所以standalone模式下就不截图输出了。已单机模式配置启动,该命令的Mode值就会是standalone。
stat
输出的统计信息和已连接的客户端。
echo stat | nc 127.0.0.1 2180
srst
重置服务器的统计。
echo srst | nc 127.0.0.1 2180
以上为先重置服务器统计,然后查询状态,可以和上面的stat命令输出做比较,会发现Received和Send信息被重置了。
这个命令要区分下crst命令,重置的内容不一样。
isro
显示服务器所属模式,只读(ro)模式或读写(rw)模式。
echo isro | nc 127.0.0.1 2180
输出
mungo@ubuntu:/usr/local/zookeeper-3.4.9-01/bin$ echo isro | nc 127.0.0.1 2180
rw
dump
列出集合中所有会话和临时znode。注意,该命令只在leader节点下有效。
根据上面srvr命令可以知道,2180端口是follower节点。
echo dump | nc 127.0.0.1 2180
执行结果如下:
根据上面srvr命令可以知道,2181端口是leader节点。
echo dump | nc 127.0.0.1 2181
执行结果如下:
cons
列出所有连接到这台服务器的客户端详细信息。
先在2180和2181两台服务器上分别连接一个客户端。
./zkCli.sh -server 127.0.0.1:2180
./zkCli.sh -server 127.0.0.1:2181
然后查看通过cons查看客户端详情。
echo cons | nc 127.0.0.1 2180
可以看出,cons命令输出客户端包括”接受/发送”的包数量、会话id、操作延迟等。
crst
重置所有连接统计信息。
echo crst | nc 127.0.0.1 2180
在2180上先连接了两个客户端。然后执行crst操作后对比操作前后的数据如下:
mntr
按Java属性格式列出服务器的统计信息,监控服务器状态的,这里只列出数据结果供参考。
echo mntr | nc 127.0.0.1 2180
wchs、wchc、wchp
这几个命令是和watch相关的, 因目前都是通过zkCli连接的,没有watch,所以只写出使用方法。如下:
echo wchs | nc 127.0.0.1 2180
echo wchc | nc 127.0.0.1 2180
echo wchp | nc 127.0.0.1 2180
更多推荐
所有评论(0)