ZooKeeper常用配置
更新时间 2026-10-12 11:41:21
最近更新时间: 2026-10-12 11:41:21
本章节介绍ZooKeeper常用配置。
操作场景
ZooKeeper的运行行为由配置文件控制,您可以根据实际业务场景调整相关配置参数,以优化ZooKeeper的性能表现。
zoo.cfg中的配置项
| 配置项 | 参考值 | 描述 |
|---|---|---|
| dataDir | /data01/zookeeper | ZooKeeper数据目录。 |
| dataLogDir | /data02/zookeeper_datalog | ZooKeeper事务日志目录。 |
| server.1 | hostname1:2888:3888;2181 | 2888:Leader通信端口;3888:参与选举的端口;2181:用于客户端通信的端口。 |
| tickTime | 2000 | 一次tick的时间(毫秒),ZooKeeper使用的基本时间单位,心跳、数据同步的时间均由它来规定。 |
| initLimit | 10 | Follower连接并同步Leader的时间(单位为tickTime),若数据量大建议提高该值。 |
| syncLimit | 5 | Follower与Leader进行同步的时间间隔(单位为tickTime),增大该值可减少网络波动对集群的影响。 |
| maxClientCnxns | 600 | ZooKeeper的最大连接数,在连接数多的情况下,建议增大配置值。 |
| minSessionTimeout | 60000 | 最小会话超时时间(毫秒),若客户端设置会话超时时间小于该值,则取该值为会话超时时间。 |
| maxSessionTimeout | 180000 | 最大会话超时时间(毫秒),若客户端设置会话超时时间大于该值,则取该值为会话超时时间。 |
zookeeper-env.sh中的配置项
| 配置项 | 参考值 | 描述 |
|---|---|---|
| ZOO_LOG_DIR | /var/log/zookeeper | ZooKeeper日志目录。 |
| JVMFLAGS | -Djava.security.krb5.conf=/etc/krb5.conf -Djava.security.auth.login.config=/usr/local/zookeeper/conf/jaas.conf | 配置krb5.conf、jaas.conf的路径。 |
| JMXPORT | 2182 | ZooKeeper JMX端口,开启JMX可增加监控指标。 |
| SERVER_JVMFLAGS | -Xmx1024m -Xms1024m -Xmn256m -Djava.rmi.server.hostname=127.0.0.1 -Dcom.sun.management.jmxremote.host=127.0.0.1 | 可配置服务堆大小。 |