zookeeper运维管理详解( 五 )


group.x=nnnnn[:nnnnn]weight.x=nnnnn # 对机器分组和权重设置,可以 参见这里(No Java system property)
cnxTimeout # Leader选举过程中,打开一次连接的超时时间,默认是5s 。(Java system property: zookeeper.cnxTimeout)
zookeeper.DigestAuthenticationProvider .superDigest # ZK权限设置相关,具体参见《使用super身份对有权限的节点进行操作》 和 《ZooKeeper权限控制》
skipACL # 对所有客户端请求都不作ACL检查 。如果之前节点上设置有权限限制,一旦服务器上打开这个开头,那么也将失效 。(Java system property:zookeeper.skipACL)
forceSync # 这个参数确定了是否需要在事务日志提交的时候调用FileChannel.force来保证数据完全同步到磁盘 。(Java system property:zookeeper.forceSync)
jute.maxbuffer # 每个节点最大数据量,是默认是1M 。这个限制必须在server和client端都进行设置才会生效 。(Java system property:jute.maxbuffer)
2.8 常用的四字命令
conf # 输出server的详细配置信息 。New in 3.3.0
$>echo conf|nc localhost 2181
clientPort=2181
dataDir=/home/test/taokeeper/zk_data/version-2
dataLogDir=/test/admin/taokeeper/zk_log/version-2
tickTime=2000
maxClientCnxns=1000
minSessionTimeout=4000
maxSessionTimeout=40000
serverId=2
initLimit=10
syncLimit=5
electionAlg=3
electionPort=3888
quorumPort=2888
peerType=0
cons # 输出指定server上所有客户端连接的详细信息,包括客户端IP,会话ID等 。New in 3.3.0类似于这样的信息:
$>echo cons|nc localhost 2181
/1.2.3.4:43527[1](queued=0,recved=152802,
sent=152806,sid=0x2389e662b98c424,lop=PING,
est=1350385542196,to=6000,
lcxid=0×114,lzxid=0xffffffffffffffff,lresp=1350690663308,llat=0,minlat=0,avglat=0,maxlat=483)
……
crst # 功能性命令 。重置所有连接的统计信息 。New in 3.3.0
dump # 这个命令针对Leader执行,用于输出所有等待队列中的会话和临时节点的信息 。
envi # 用于输出server的环境变量 。包括操作系统环境和Java环境 。
ruok # 用于测试server是否处于无错状态 。如果正常,则返回"imok",否则没有任何响应 。注意:ruok不是一个特别有用的命令,它不能反映一个server是否处于正常工作 。"stat"命令更靠谱 。
stat # 输出server简要状态和连接的客户端信息 。
srvr # 和stat类似,New in 3.3.0
$>echo stat|nc localhost 2181
Zookeeper version: 3.3.5-1301095, built on 03/15/2012 19:48 GMT
Clients:
/10.2.3.4:59179[1](queued=0,recved=44845,sent=44845)
Latency min/avg/max: 0/0/1036
Received: 2274602238
Sent: 2277795620
Outstanding: 0
Zxid: 0xa1b3503dd
Mode: leader
Node count: 37473
$>echo srvr|nc localhost 2181
Zookeeper version: 3.3.5-1301095, built on 03/15/2012 19:48 GMT
Latency min/avg/max: 0/0/980
Received: 2592698547
Sent: 2597713974
Outstanding: 0
Zxid: 0xa1b356b5b
Mode: follower
Node count: 37473
srst # 重置server的统计信息 。
wchs # 列出所有watcher信息概要信息,数量等:New in 3.3.0
$>echo wchs|nc localhost 2181
3890 connections watching 537 paths
Total watches:6909
wchc # 列出所有watcher信息,以watcher的session为归组单元排列,列出该会话订阅了哪些path:New in 3.3.0
$>echo wchc|nc localhost 2181
0x2389e662b97917f
/mytest/test/path1/node1
0x3389e65c83cd790
/mytest/test/path1/node2
0x1389e65c7ef6313
/mytest/test/path1/node3
/mytest/test/path1/node1
wchp # 列出所有watcher信息,以watcher的path为归组单元排列,列出该path被哪些会话订阅着:New in 3.3.0
$>echo wchp|nc localhost 2181
/mytest/test/path1/node
0x1389e65c7eea4f5
0x1389e65c7ee2f68
/mytest/test/path1/node2
0x2389e662b967c29
/mytest/test/path1/node3
0x3389e65c83dd2e0
0x1389e65c7f0c37c
0x1389e65c7f0c364
注意,wchc和wchp这两个命令执行的输出结果都是针对session的,对于运维人员来说可视化效果并不理想,可以尝试将cons命令执行输出的信息整合起来,就可以用客户端IP来代替会话ID了,具体可以看这个实现:http://rdc.taobao.com/team/jm/archives/1450
mntr
输出一些ZK运行时信息,通过对这些返回结果的解析,可以达到监控的效果 。New in 3.4.0
$ echo mntr | nc localhost 2185
zk_version 3.4.0
zk_avg_latency 0
zk_max_latency 0
zk_min_latency 0
zk_packets_received 70
zk_packets_sent 69
zk_outstanding_requests 0
zk_server_state leader
zk_znode_count 4
zk_watch_count 0


推荐阅读