文章转载自:https://www.cnblogs.com/kuku0223/p/8428341.html


ZooKeeper 3.4.6支持某些特定的四字命令字母与其的交互。它们大多是查询命令,用来获取 ZooKeeper 服务的当前状态及相关信息。用户在客户端可以通过 telnetncZooKeeper 提交相应的命令。 其中 statsrvrcons 三个命令比较类似:stat 提供服务器统计和客户端连接的一般信息;srvr 只有服务的统计信息,cons 提供客户端连接的更加详细的信息。

使用方式,在终端中输入:

# echo mntr | nc localhost 2181 
命令示例             描述
confecho conf | nc localhost 2181(New in 3.3.0)输出相关服务配置的详细信息。比如端口、zk数据及日志配置路径、最大连接数,session超时时间、serverId等
consecho cons | nc localhost 2181(New in 3.3.0)列出所有连接到这台服务器的客户端连接/会话的详细信息。包括“接受/发送”的包数量、session id 、操作延迟、最后的操作执行等信息。
crstecho crst | nc localhost 2181(New in 3.3.0)重置当前这台服务器所有连接/会话的统计信息
dumpecho dump | nc localhost 2181列出未经处理的会话和临时节点(只在leader上有效)。
enviecho envi | nc localhost 2181输出关于服务器的环境详细信息(不同于conf命令),比如host.name、java.version、java.home、user.dir=/data/zookeeper-3.4.6/bin之类信息
ruokecho ruok | nc localhost 2181测试服务是否处于正确运行状态。如果正常返回"imok",否则返回空。
srstecho srst | nc localhost 2181重置服务器的统计信息
srvrecho srvr | nc localhost 2181(New in 3.3.0)输出服务器的详细信息。zk版本、接收/发送包数量、连接数、模式(leader/follower)、节点总数。
statecho stat | nc localhost 2181输出服务器的详细信息:接收/发送包数量、连接数、模式(leader/follower)、节点总数、延迟。 所有客户端的列表。
wchsecho wchs | nc localhost 2181(New in 3.3.0)列出服务器watches的简洁信息:连接总数、watching节点总数和watches总数
wchcecho wchc | nc localhost 2181(New in 3.3.0)通过session分组,列出watch的所有节点,它的输出是一个与 watch 相关的会话的节点列表。如果watches数量很大的话,将会产生很大的开销,会影响性能,小心使用。
wchpecho wchp | nc localhost 2181(New in 3.3.0)通过路径分组,列出所有的 watch 的session id信息。它输出一个与 session相关的路径。如果watches数量很大的话,将会产生很大的开销,会影响性能,小心使用。
mntrecho mntr | nc localhost 2181(New in 3.4.0)列出集群的健康状态。包括“接受/发送”的包数量、操作延迟、当前服务模式(leader/follower)、节点总数、watch总数、临时节点总数。

示例

查看 zookeeper 版本

# echo stat | nc localhost 2181
Zookeeper version: 3.5.5-390fe37ea45dee01bf87dc1c042b5e3dcce88653, built on 05/03/2019 12:07 GMT
Clients:
 /0:0:0:0:0:0:0:1:55684[0](queued=0,recved=1,sent=0)

Latency min/avg/max: 0/0/0
Received: 4
Sent: 3
Connections: 1s
Outstanding: 0
Zxid: 0x400018f72
Mode: follower
Node count: 108

如遇查询是出现如下报错

# echo stat | nc localhost 2181
stat is not executed because it is not in the whitelist.

解决方法

以下方法二选一即可

  1. 修改 $zookeeper/bin/zkServer.sh文件

    ...
    # 找到如下内容
    else
        echo "JMX disabled by user request" >&2
        ZOOMAIN="org.apache.zookeeper.server.quorum.QuorumPeerMain"
    fi
    # 在后面插入如下新内容
    ZOOMAIN="-Dzookeeper.4lw.commands.whitelist=* ${ZOOMAIN}"
    

    保存退出后重启 zookeeper 即可。

  2. 修改配置文件 $zookeeper/conf/zoo.cfg

    zoo.cfg 中添加如下配置项

    #开启四字命令
    4lw.commands.whitelist=*
    

    保存退出后重启 zookeeper 即可。


标题:zookeeper 四字命令操作
作者:akiya789
地址:https://little-star.love/articles/2020/04/16/1587003780725.html

添加新评论