文章目录
四字监控命令
zookeeper支持某些特定的四字命令与其的交互。它们大多是查询命令,用来获取zookeeper服务的当前状态及相关信息。用户在客户端可以用过telnet或nc向zookeeper提交相应的命令。
zookeeper常用的四字命令见下表所示:
命令描述conf输出相关服务配置的详情信息。如:端口、zk数据及日志配置路径、最大连接数,session超时时间、serverID等。cons列出所有连接到这台服务器的客户端连接/会话的详细信息。包括“接受/发送"的包数量、sessionID、操作延迟、最后的操作执行等信息。crst重置当前这台服务器的所有连接/会话的统计信息dump列出未经处理的会话和临时节点envi输出关于服务器的环境详细信息ruok测试服务是否处于正确的运行状态。如果正常返回"imok",否则返回空。stat输出服务器的详细信息:发送/接收包数量、连接数、模式(leader/follower)、节点总数、延迟。所有客户端的列表。srst重置server状态wchs列出服务器watches的简洁信息:连接总数、watching节点总数和watches总数。wchc通过session分组,列出watch的所有节点,它的输出是一个与watch相关的会话的节点列表。mntr列出集群的健康状态。包括”接收/发送"的包数量、操作延迟、当前服务模式(leader /follower)、节点总数、watch总数、临时节点总数。
nc命令工具安装:
#root用户安装# 下载安装包
yum install nc.x86_64
# 查看集群的健康状态echo mntr |nc localhost 2181
nc命令在执行时会创建一个会话。
0. 官方文档
https://zookeeper.apache.org/doc/current/zookeeperAdmin.html#sc_4lw
1. conf命令
输出相关服务配置的详细信息
echo conf |nc127.0.0.1 2181
属性含义clientPort客户端端口号dataDir数据快照文件目录 默认情况下10万吃事务操作生成一次快照dataLogDir事务日志文件目录,生产环境中放在独立的磁盘上tickTime服务器之间或客户端与服务器之间维持心跳的时间间隔(ms)maxClientCnxns最大连接数minSessionTimeout最小session超时 minSessionTimeout=tickTime2maxSessionTimeout最大session超时 maxSessionTimeout=tickTime20serverId服务器编号initLimit集群中的follower服务器(F)与leader服务器(L)之间初始连接时能容忍的最多心跳数syncLimit集群中的follower服务器(F)与leader服务器(L)之间 请求和应答值间能容忍的最多心跳数。electionAlg选举算法–> 0:基于UDP的LeaderElection。 1:基于UDP的FastLeaderElection。 2:基于UDP和认证的FastLeaderElection。 3:基于TCP的FastLeaderElection,在3.4.14版本中,默认是3electionPort选举端口quorumPort数据通信端口peerType是否为观察者,1为观察者
2. cons命令
列出所有连接到这台服务器的客户端连接/会话的详细信息
echo cons |nc127.0.0.1 2181
属性含义ipip地址port端口号queued等待被处理的请求数,请求缓存在队列中received收到的包数sent发送的包数sid会话IDlop最后的操作 GETD-读数据 DELE-删除数据 CREA-创建数据est连续时间戳to超时时间lcxid当前会话的操作id 每次操作+1lzxid最大事务idlresp最后响应时间戳llat最后/最新 延时minlat最小延时maxlat最大延时平均延时
3. crst命令
重置当前这台服务器所有连接/会话的统计信息
echo crst |nc127.0.0.1 2181
4. dump命令
列出未经处理的会话和临时节点
echo dump |nc127.0.0.1 2181
属性含义session idznode path(1对多,处于队列中排队的session和临时节点)
5. envi命令
输出关于服务器的环境配置信息
echo envi |nc127.0.0.1 2181
属性含义zookeeper.verison版本host.namehost信息java.versionjava版本java.vendor供应商java.home运行环境所在目录java.class.pathclasspathjava.libraray.path第三方库指定非java类包的位置(如:dll,so)java.io.tempdir默认的临时文件路径java.compilerJIT编译器的名称os.nameLinuxos.archamdos.version3.10.0-1062.el7.x86_64user.namerootuser.home/rootuser.dir/software/Zookeeper/group/zookeeper2181/bin
6. ruok命令
测试服务是否处于正确运行状态
echo ruok |nc127.0.0.1 2181
7. stat命令
输出服务器的详细信息与srvr相似,但是多了每个连接的会话信息
echostat|nc127.0.0.1 2181
属性含义Zookeeper version版本Latency min/avg/max延时Received接收到的包数Sent发送的包数Connections连接数Outstanding堆积数Zxid最大事务IDMode服务器角色Node count节点数
8. srst命令
重置server状态
echo srst |nc127.0.0.1 2181
9. wchs命令
列出服务器watches的简洁信息
echo wchs |nc127.0.0.1 2181
属性含义connections连接数watch-pathswatch节点数watcherswatcher数量
10. wchc命令(一般不用)
通过session分组,列出watch的所有节点,它输出的是一个与watch相关的会话的节点列表。
echo wchc |nc127.0.0.1 2181
问题:
wchc is not executed because it is not in the whitelist.
解决方法:
# 修改启动指令 zkServer.sh# 注意找到这个信息elseecho"JMX disabled by user request">&2ZOOMAIN="org.apache.zookeeper.server.quorum.QuorumPeerMain"fi#下面添加如下信息ZOOMAIN="-Dzookeeper.4lw.commands.whitelist=* ${ZOOMAIN}"
11. wchp命令(一般不用)
通过路径分组,列出所有的watch的session id信息。
echo wchp |nc127.0.0.1 2181
问题:
wchc is not executed because it is not in the whitelist.
解决方法:
# 修改启动指令 zkServer.sh# 注意找到这个信息elseecho"JMX disabled by user request">&2ZOOMAIN="org.apache.zookeeper.server.quorum.QuorumPeerMain"fi#下面添加如下信息ZOOMAIN="-Dzookeeper.4lw.commands.whitelist=* ${ZOOMAIN}"
12. mntr命令
列出服务器的健康状态
echo mntr |nc localhost 2181
属性含义zk_version版本zk_avg_latency平均延时zk_max_latency最大延时zk_min_latency最小延时zk_packets_received收包数zk_packets_sent发包数zk_num_alive_connections连接数zk_outstanding_requests堆积请求数zk_server_stateleader/follower状态zk_znode_countznode数量zk_watch_countwatch数量zk_ephemerals_count临时节点(znode)zk_approximate_data_size数据大小zk_open_file_descriptor_count打开的文件描述符数量zk_max_file_descriptor_count最大文件描述符数量
版权归原作者 秃秃爱健身 所有, 如有侵权,请联系我们删除。