参数说明
参数 | 解释 | 默认值 |
---|---|---|
tickTime | 节点间信号发送的时间间隔,每个tickTime会发送一次心跳,单位为ms; | 2000 |
initLimit | Follower节点与Leader节点间允许容忍初始化连接最大心跳数; | 10 |
syncLimit | Follower节点与Leader节点间允许请求和应答的最大心跳书; | 5 |
dataDir | 存放内存数据的路径,便于快捷恢复; | /usr/local/zookeeper/data |
dataLogDir | 存放事务日志路径,对磁盘性能要求高,Zookeeper在响应客户端事务请求之前需要将请求的事务写到磁盘上,事务日志的写入性能直接影响到Zookeeper处理请求吞吐,dataLogDir没有提供默认使用dataDir | /usr/local/zookeeper/datalog |
clientPort | Zookeeper的端口 | 2181 |
maxClientCnxns | 在socket级别限制单个客户端到Zookeeper节点并发连接数,0为不限制 | 1000 |
minSessionTimeout | 节点允许客户端最小超时时间,默认是2倍tickTime | 4000 |
maxSessionTimeout | 节点允许客户端最大超时时间,默认是20倍tickTime | 40000 |
autopurge.snapRetainCount | 若启动自动清理功能后,Zookeeper将只保留autopurge.snapRetainCount个最近的数据快照和对应的事务日志文件,其余将会删除掉 | 3 |
autopurge.purgeInterval | 用于配置触发清理任务的时间间隔,单位为h; | 0 |
globalOutstandingLimit | Zookeeper将会对客户端进行限流,即限制系统中未处理的请求,数量不超过globalOutstandingLimit设置的值 | 1000 |
preAllocSize | 用于配置Zookeeper事务日志文件预分区分配磁盘空间大小,单位为KB | 64000 |
snapCount | Zookeeper将事务记录到事务日志中,当snapCount个事务被写到一个日志文件后,启动一个快照并创建一个新的事务日志文件 | 100000 |
推荐配置
maxClientCnxns=1000
minSessionTimeout=30000
maxSessionTimeout=60000
autopurge.snapRetainCount=10
autopurge.purgeInterval=1
globalOutstandingLimit=200
preAllocSize=131072
snapCount=300000
leaderServes=yes
jvm堆栈增加
说明
/usr/local/zookeeper/bin/zkEnv.sh脚本文件中已经明确说明有独立的jvm内存设置文件,路径是zookeeper目录下的"conf/java.env"文件,但是这个文件安装zookeeper时并不存在,需要我们进行手动创建。
配置java.env文件
\# cat /usr/local/zookeeper/conf/java.env
\#!/bin/sh
export JAVA_HOME=/usr/local/jdk
\# heap size MUST be modified according to cluster environment
export JVMFLAGS="-Xms2048m -Xmx3072m $JVMFLAGS"