zookeeper常用状态检查命令工具
- 查看单个node状态
$ /opt/zookeeper/bin/zkServer.sh status
ZooKeeper JMX enabled by default
Using config: /opt/zookeeper/bin/../conf/zoo.cfg
Client port found: 2181. Client address: localhost.
Mode: follower
- 查看cluster状态
$ echo mntr | nc <zkhost> 2181
...
zk_server_state leader
...
zk_followers 2
...
有很多输出,这里只列出了两个项目。
mntr是zookeeper的一个4字符命令,zk内置很多4字符命令,包括:stat,isro,ruok,mntr,srvr
等。
如果没有nc工具,也可以直接使用telnet:
$ telnet localhost 2181
Trying 127.0.0.1...
Connected to myhost.
Escape character is '^]'.
stats
Zookeeper version: 3.4.3-cdh4.0.1--1, built on 06/28/2012 23:59 GMT
Clients:
...
如果telnet也没有,那就只能用原生tcp访问了:
$ cat zkaccess.sh
# $1 host
# $2 port
# $3 message
bashtcp() {
exec 3<> /dev/tcp/$1/$2;
echo "$3" 1>&3;
cat 0<&3
}
#bashtcp <zkhost> <zkport> <zkcmd>
bashtcp localhost 2181 srvr
3 ERROR:stat is not executed because it is not in the whitelist.
注意在上述4字符命令中,缺省状态下只有srve是可以访问的,其他都是不能访问的。
网友评论