Zookeeper笔记之四字命令
Zookeeper支持一些命令用来获取服务的状态和相关信息,因为这些命令都是四个字母的,所以一般称为四字命令。
四字命令可以使用telnet或者nc向服务器提交,使用下面这个脚本可以当做是一个简易的客户端,它接收四字命令,发送到指定服务器,并将执行结果显示在控制台上,同时为了体验好一些,还提供了prompt来将用户输入的命令和命令的执行结果做区分:
#! /bin/bash # [$1] server host
# [$2] server port
show_prompt(){
if [ $# -eq 2 ]; then
echo -n "$1:$2> "
else
echo -n "> "
fi
} show_help(){
echo 'Usage: '
echo ' four-letter-word-cli [server-host] [server-port]'
echo ' server-host and server-port default is localhost:2181'
} # [$1] server host, default localhost
# [$2] server port, default 2181
four_letter_word_client(){ # 帮助信息
if [ "$1" == "-h" ]; then
show_help
return 0
fi # 检查参数,若未传递则使用默认值
server_host=${1-"localhost"}
server_port=${2-2181} # 循环接收命令并执行
show_prompt $server_host $server_port
while read command
do
# 支持exit退出,兼容各种大小写情况
if [ `echo "foo-$command" | tr A-Z a-z` == "foo-exit" ]; then
echo "bye."
return 0
fi echo $command | nc $server_host $server_port
show_prompt $server_host $server_port
done
} # main
four_letter_word_client $@
效果如下:

conf
输出服务相关的配置信息。
localhost:2181> conf
clientPort=2181
dataDir=/tmp/zookeeper/version-2
dataLogDir=/tmp/zookeeper/version-2
tickTime=3000
maxClientCnxns=0
minSessionTimeout=6000
maxSessionTimeout=60000
serverId=0
clientPort:服务监听在哪个端口上了
dataDir:数据文件的目录
dataLogDir:日志文件的目录,zk会将所有操作以类似于binlog的形式记录下来
tickTime:
maxClientCnxns:最大连接数
minSessionTimeout:最小session超时时间
maxSessionTimeout:最大session超时时间
serverId:
cons
列出连接到服务器的客户端的连接信息。
localhost:2181> cons
/127.0.0.1:48482[1](queued=0,recved=1,sent=1,sid=0x163206280b2000c,lop=SESS,est=1527335699876,to=30000,lcxid=0x0,lzxid=0x68,lresp=1527335699898,llat=6,minlat=0,avglat=6,maxlat=6)
/127.0.0.1:48486[0](queued=0,recved=1,sent=0)
/127.0.0.1 ip地址
:48482 端口
[1]( 连接编号
queued=0, 所在队列
recved=1, 接收包数量
sent=1, 发送包数量
sid=0x163206280b2000c, 会话id
lop=SESS, 最后一次进行的操作
est=1527335699876, 连接时间戳
to=30000, 超时时间,timeout
lcxid=0x0, 最后id(未确认具体id)
lzxid=0x68, 最后id(状态变更id)
lresp=1527335699898, 最后响应时间戳
llat=6, 最后/最新延时
minlat=0, 最小延时
avglat=6, 平均延时
maxlat=6) 最大延时
dump
列出未经处理的会话和临时节点
localhost:2181> dump
SessionTracker dump:
Session Sets (3):
0 expire at Sat May 26 19:56:12 CST 2018:
0 expire at Sat May 26 19:56:21 CST 2018:
1 expire at Sat May 26 19:56:30 CST 2018:
0x163206280b2000c
ephemeral nodes dump:
Sessions with Ephemerals (0):
envi
服务环境相关信息
Environment:
zookeeper.version=3.4.11-37e277162d567b55a07d1755f0b31c32e93c01a0, built on 11/01/2017 18:06 GMT
host.name=localhost
java.version=1.8.0_161
java.vendor=Oracle Corporation
java.home=/opt/jdk/jdk1.8.0_161/jre
java.class.path=/opt/zookeeper/zookeeper-3.4.11/bin/../build/classes:/opt/zookeeper/zookeeper-3.4.11/bin/../build/lib/*.jar:/opt/zookeeper/zookeeper-3.4.11/bin/../lib/slf4j-log4j12-1.6.1.jar:/opt/zookeeper/zookeeper-3.4.11/bin/../lib/slf4j-api-1.6.1.jar:/opt/zookeeper/zookeeper-3.4.11/bin/../lib/netty-3.10.5.Final.jar:/opt/zookeeper/zookeeper-3.4.11/bin/../lib/log4j-1.2.16.jar:/opt/zookeeper/zookeeper-3.4.11/bin/../lib/jline-0.9.94.jar:/opt/zookeeper/zookeeper-3.4.11/bin/../lib/audience-annotations-0.5.0.jar:/opt/zookeeper/zookeeper-3.4.11/bin/../zookeeper-3.4.11.jar:/opt/zookeeper/zookeeper-3.4.11/bin/../src/java/lib/*.jar:/opt/zookeeper/zookeeper-3.4.11/bin/../conf:.:/opt/jdk/jdk1.8.0_161/lib:/lib:
java.library.path=/usr/java/packages/lib/amd64:/usr/lib64:/lib64:/lib:/usr/lib
java.io.tmpdir=/tmp
java.compiler=<NA>
os.name=Linux
os.arch=amd64
os.version=3.10.0-514.26.2.el7.x86_64
user.name=root
user.home=/root
user.dir=/opt/zookeeper/zookeeper-3.4.11/bin
上面列出的主要是服务器用到的一些环境变量即其值。
reqs
列出未经处理的请求
ruok
测试服务器是否处于正确状态,如果是的话返回“imok”,否则的话没有任何回应。
stat
关于性能和客户端的连接信息
imoklocalhost:2181> stat
Zookeeper version: 3.4.10-39d3a4f269333c922ed3db283be479f9deacaa0f, built on 03/23/2017 10:13 GMT
Clients:
/127.0.0.1:49202[0](queued=0,recved=1,sent=0)
/127.0.0.1:48482[1](queued=0,recved=62,sent=62) Latency min/avg/max: 0/0/63
Received: 468342
Sent: 468348
Connections: 2
Outstanding: 0
Zxid: 0x68
Mode: standalone
Node count: 28
wchs
列出服务器的watch信息
wchc
通过session列出服务器的watch信息,输出是一个与watch相关的会话列表
wchp
通过路径列出服务器watch信息,输入与session相关的路径
.
Zookeeper笔记之四字命令的更多相关文章
- zookeeper之 zkServer.sh命令、zkCli.sh命令、四字命令
一.zkServer.sh 1.查看 zkServer.sh 帮助信息[root@bigdata05 bin]# ./zkServer.sh helpZooKeeper JMX enabled by ...
- Zookeeper四字命令
ZooKeeper 支持某些特定的四字命令(The Four Letter Words)与其进行交互.它们大多是查询命令,用来获取 ZooKeeper 服务的当前状态及相关信息.用户在客户端可以通过 ...
- 【转】zookeeper之 zkServer.sh命令、zkCli.sh命令、四字命令
[FROM]https://www.cnblogs.com/andy6/p/7674028.html 一.zkServer.sh 1.查看 zkServer.sh 帮助信息 [root@bigdata ...
- 搭建zookeeper单机版以及简单命令的使用
1:创建目录 #数据目录dataDir=/opt/hadoop/zookeeper-3.3.5-cdh3u5/data#日志目录dataLogDir=/opt/hadoop/zookeeper-3.3 ...
- 五:ZooKeeper的集群命令客户端的链接和命令操作的使用
一:zookeeper客户端链接[1]进入zookeeper的安装目录的bin目录下 # cd /opt/zookeeper/bin[2]敲击链接客户端的命令(zkCli.sh) ...
- zookeeper Cli的常用命令
zookeeper Cli的常用命令 服务管理 启动ZK服务: zkServer.sh start 查看ZK状态: zkServer.sh status 停止ZK服务: zkServer.sh sto ...
- zookeeper命令行(zkCli.sh&zkServer.sh)使用及四字命令
zookeeper提供了很多方便的功能,方便我们查看服务器的状态,增加,修改,删除数据(入口是zkServer.sh和zkCli.sh). 还提供了一系列四字命令,方便我们跟服务器进行各种交互,来确认 ...
- zookeeper 四字命令的使用
Linux中的命令NetCat有“瑞士军刀”的美誉.我们可以通过nc命令查看Zookeeper的一行属性数据.在Zookeeper中有很多四字命令,汇总如下: 序号 使用命令 输出说明 1 echo ...
- zookeeper 四字命令
zookeeper四字命令 ZooKeeper3.4.6支持某些特定的四字命令字母与其的交互.它们大多是查询命令,用来获取 ZooKeeper 服务的当前状态及相关信息.用户在客户端可以通过 te ...
随机推荐
- 微软职位内部推荐-Software Engineer II-Search
微软近期Open的职位: Do you want to work on a fast-cycle, high visibility, hardcore search team with ambitio ...
- html5实现拖拽上传头像
1. 将客户端(本地电脑)中的图片拖到网页中 要点: html5 拖放, FileReader html: <div id="container" ondrop=" ...
- PAT甲题题解-1023. Have Fun with Numbers (20)-大数加法
和1024一样都是大数据的题,因为位数最多要20位,long long最多19位给一个num,求sum=num+num问sum包含的数字,是否是num的一个排列,即数字都一样,只是顺序不同罢了. #i ...
- PAT甲题题解-1088. Rational Arithmetic (20)-模拟分数计算
输入为两个分数,让你计算+,-,*,\四种结果,并且输出对应的式子,分数要按带分数的格式k a/b输出如果为负数,则带分数两边要有括号如果除数为0,则式子中的结果输出Inf模拟题最好自己动手实现,考验 ...
- 作业六:分析Linux内核创建一个新进程的过程
分析Linux内核创建一个新进程的过程 进程描述符PCB----task_struct数据结构 操作系统:1.进程管理 2.内存管理 3 文件系统 一.新进程如何创建和修改task_struct数据结 ...
- 第二个Sprint ------第七天、第八天、第九天、第十天,第十一天
这几天我们主要讨论界面的设计,也终于有了个初步的界面: 主界面截图
- 极简版 卸载 home 扩充 根分区--centos7 xfs 文件格式
1. 查看文件系统 df -Th 2. 关闭正常连接 /home的用户 fuser /home 3. 卸载 /home的挂载点 umount /home 4.删除home的lv 注意 lv的名称的写法 ...
- 原理分析dubbo分布式应用中使用zipkin做链路追踪
zipkin是什么 Zipkin是一款开源的分布式实时数据追踪系统(Distributed Tracking System),基于 Google Dapper的论文设计而来,由 Twitter 公司开 ...
- python 按照固定长度分割字符串
>>> import re >>> string = '123456789abcdefg' >>> re.findall(r'.{3}', str ...
- MyBatis中Mapper的返回值类型
insert.update.delete语句的返回值类型 对数据库执行修改操作时,数据库会返回受影响的行数. 在MyBatis(使用版本3.4.6,早期版本不支持)中insert.update.del ...