1 默认配置文件示例
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24
| # 毫秒数,指定zookeeper中的最小时间单元大小 # 许多属性都是该属性的N倍 tickTime=2000 # 此处的10,表示tickTime的10倍 initLimit=10 # The number of ticks that can pass between # sending a request and getting an acknowledgement syncLimit=5 # 用于存储快照的目录 dataDir=/var/zookeeper # 对外提供的服务端口,供客户端使用 clientPort=2181 # maxClientCnxns=60 # # autopurge.snapRetainCount=3 # autopurge.purgeInterval=1 server.1=h1:2183:2184 server.2=h2:2183:2184 server.3=h3:2183:2184
|
2 其他常用配置
默认情况下,zookeeper的事务日志将会和快照文件存储于同一目录下.该属性指定事务日志文件的存放位置。
并且,官方推荐的做法是: 为事务日志准备专用的吞吐量较大的存储设备,同时也将事务日志和快照文件的存储分开了。
- globalOutstandingLimit (zookeeper.globalOutstandingLimit)
当客户端请求到来的速度大于zookeeper处理请求的速度的时候(比如客户端数量较大时),新的请求会堆积。
太大的堆积会影响服务器的性能或者使zookeeper溢出。
该属性就是设置堆积的请求的最大数量的。默认为1000。
- preAllocSize (zookeeper.preAllocSize)
事务日志文件预分配的大小.默认为64M。
最小超时时间,默认为tickTime的2倍。
最大超时时间,默认为tickTime的20倍。
- autopurge.snapRetainCount
启用后,将自动清理快照文件和日志文件。该属性指定在清理的时候保留几个快照文件和日志文件。该值的最小值为3.
定时清理日志和快照文件的时间间隔。0表示不清理。
表示Leader等待Flower连接到Leader并和Leader同步数据的时间最大值。当数据量较大时应该适当调大该参数。
默认为10*tickTime。
Leader和Follower之间心跳检测的最大时间间隔。
如果超过该值配置的时间间隔没有收到Follower的心跳信号,则Leader认为Follower已经和自己断开连接。
- forceSync (zookeeper.forceSync)
表示是否实时地将事务日志的内容写入磁盘(立即从缓存直接刷入磁盘)。
可取值为 yes|no
- skipACL (zookeeper.skipACL)
对于客户端的请求是否跳过授权检测。默认为false。
3 常用四字命令
zookeeper中,一些命令都是4个英文字母组成的,因此,有人称之为zookeeper “四字命令”。
这些四字命令可以通过telnet或者nc来执行以获取zookeeper的一些信息。
以下stat命令的操作使用了两种方法来演示:
查询zookeeper集群状态信息。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19
| [root@h1 zookeeper]# telnet 192.168.161.128 2181 Trying 192.168.161.128... Connected to 192.168.161.128. Escape character is '^]'. stat Zookeeper version: 3.4.9-1757313, built on 08/23/2016 06:50 GMT Clients: /192.168.161.128:53253[0](queued=0,recved=1,sent=0) Latency min/avg/max: 0/0/0 Received: 4 Sent: 3 Connections: 1 Outstanding: 0 Zxid: 0x500000001 Mode: follower Node count: 18 Connection closed by foreign host. [root@h1 zookeeper]#
|
或者:
1 2 3 4 5 6 7 8 9 10 11 12 13 14
| [root@h1 zookeeper]# echo stat | nc 192.168.161.128 2181 Zookeeper version: 3.4.9-1757313, built on 08/23/2016 06:50 GMT Clients: /192.168.161.128:53254[0](queued=0,recved=1,sent=0) Latency min/avg/max: 0/0/0 Received: 5 Sent: 4 Connections: 1 Outstanding: 0 Zxid: 0x500000001 Mode: follower Node count: 18 [root@h1 zookeeper]#
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
| [root@h1 zookeeper]# echo mntr | nc 192.168.161.128 2181 zk_version 3.4.9-1757313, built on 08/23/2016 06:50 GMT zk_avg_latency 0 zk_max_latency 0 zk_min_latency 0 zk_packets_received 2 zk_packets_sent 2 zk_num_alive_connections 1 zk_outstanding_requests 0 zk_server_state follower zk_znode_count 18 zk_watch_count 0 zk_ephemerals_count 0 zk_approximate_data_size 561 zk_open_file_descriptor_count 32 zk_max_file_descriptor_count 4096
|
重置所有客户端连接统计信息
1 2
| [root@h1 zookeeper]# echo crst | nc 192.168.161.128 2181 Connection stats reset.
|
获取基本配置信息
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
| [root@h1 zookeeper]# echo conf | nc 192.168.161.128 2181 clientPort=2181 dataDir=/var/zookeeper/version-2 dataLogDir=/var/zookeeper/version-2 tickTime=2000 maxClientCnxns=60 minSessionTimeout=4000 maxSessionTimeout=40000 serverId=1 initLimit=10 syncLimit=5 electionAlg=3 electionPort=2184 quorumPort=2183 peerType=0 [root@h1 zookeeper]#
|
客户端连接的详细信息
1 2
| [root@h1 zookeeper]# echo cons | nc 192.168.161.128 2181 /192.168.161.128:53257[0](queued=0,recved=1,sent=0)
|
环境信息
1 2 3 4 5 6 7 8
| [root@h1 zookeeper]# echo envi | nc 192.168.161.128 2181 Environment: zookeeper.version=3.4.9-1757313, built on 08/23/2016 06:50 GMT host.name=h1 java.version=1.8.0_101 java.vendor=Oracle Corporation java.home=/soft/jdk1.8.0_101/jre ......
|
ruok(are you ok)?
查询,zookeeper是否处于工作状态。
一般会返回 imok
(I am ok)
1 2
| [root@h1 zookeeper]# echo ruok | nc 192.168.161.128 2181 imok[root@h1 zookeeper]#
|
和stat命令类似,但是输出不包括客户端信息。
1 2 3 4 5 6 7 8 9 10
| [root@h1 zookeeper]# echo srvr | nc 192.168.161.128 2181 Zookeeper version: 3.4.9-1757313, built on 08/23/2016 06:50 GMT Latency min/avg/max: 0/0/0 Received: 13 Sent: 12 Connections: 1 Outstanding: 0 Zxid: 0x500000001 Mode: follower Node count: 18
|
重置服务器端统计信息
1 2 3
| [root@h1 zookeeper]# echo srst | nc 192.168.161.128 2181 Server stats reset. [root@h1 zookeeper]#
|
watcher信息
1 2 3
| [root@h1 zookeeper]# echo wchs | nc 192.168.161.128 2181 0 connections watching 0 paths Total watches:0
|
以会话分组,显示watcher信息
1
| echo wchc | nc 192.168.161.128 2181
|
以节点分组,显示watcher信息
1
| echo wchp | nc 192.168.161.128 2181
|
输出会话信息
1 2 3 4 5
| [root@h1 zookeeper]# echo dump | nc 192.168.161.128 2181 SessionTracker dump: org.apache.zookeeper.server.quorum.LearnerSessionTracker@6f523655 ephemeral nodes dump: Sessions with Ephemerals (0):
|