欢迎光临
我们一直在努力

zookeeper服务端配置

参数名 默认值 详解 备注
基础配置 参数名 含义说明 默认值 备注
tickTime ZooKeeper基本时间单位(毫秒),用于心跳和超时计算 2000 最小会话超时时间为2*tickTime
dataDir 数据快照和myid文件存储路径 必须指定,建议独立磁盘
clientPort 客户端连接端口 2181 核心服务端口
initLimit Follower连接Leader并完成同步的最大tick数 5 集群初始化超时时间
syncLimit Leader与Follower心跳超时tick数 2 网络延迟高时需要调大
server.x 集群节点配置:server.id=host:port:port port1是通信端口,port2是选举端口
数据存储配置 dataLogDir 事务日志存储路径 dataDir相同路径 强烈建议使用独立磁盘以提高性能
preAllocSize 事务日志预分配大小(KB) 65536 减少磁盘分配开销
snapCount 触发快照的事务数阈值 100000 达到该值后创建新快照
autopurge.snapRetainCount 保留的快照数量 3 自动清理旧快照
autopurge.purgeInterval 清理任务间隔(小时) 1 0表示禁用自动清理
fsync.warningthresholdms fsync警告阈值(毫秒) 1000 超过该值输出警告日志
fsync.warningthresholdms fsync警告阈值(毫秒) 1000 超过该值输出警告日志
网络与连接控制 maxClientCnxns 单IP最大客户端连接数 60(3.5.3前)/2000(3.5.3+) 防止单个IP耗尽连接
maxCnxns 单服务器总连接数(不区分IP) 0(无限制) 3.5+引入的额外防护
clientPortAddress 客户端端口绑定的IP地址 0.0.0.0 可指定特定网卡
secureClientPort SSL安全连接端口 启用后支持混合模式
client.portUnification 客户端端口同时接受SSL连接 FALSE 3.5.5+
admin.serverPort Admin服务端口 8080 提供监控接口
admin.enableServer 是否启用Admin服务 TRUE 可设为false禁用
zookeeper.serverCnxnFactory 连接工厂类 NIOServerCnxnFactory 使用TLS时需改为NettyServerCnxnFactory
集群与高可用 group.x 节点分组配置(用于分层次选举) 3.5+支持
weight.x 节点权重配置 影响选举投票权重
leaderServes Leader是否处理客户端请求 yes 设为no可提升写入性能
peerType 节点类型(observer/participant) participant Observer不参与选举
syncEnabled Observer是否持久化事务日志 TRUE 3.4.6+,设为false可提升性能但增加恢复时间
multiAddress.enabled 启用多地址支持 FALSE 3.6.0+,提升网络层可用性
multiAddress.reachabilityCheckTimeoutMs 多地址可达性检查超时 1000ms 3.6.0+
性能调优参数 globalOutstandingLimit 全局最大请求队列长度 1000 防止内存溢出
maxSessionTimeout 最大会话超时时间(毫秒) 20*tickTime 客户端可设置的最大值
minSessionTimeout 最小会话超时时间(毫秒) 2*tickTime 客户端可设置的最小值
zookeeper.commitProcessor.numWorkerThreads CommitProcessor工作线程数 CPU核心数 3.5.0+
zookeeper.nio.numSelectorThreads NIO selector线程数 √(CPU核心数/2) 3.5.0+,连接数多时增加
zookeeper.nio.numWorkerThreads NIO worker线程数 2*CPU核心数 3.5.0+
maxBatchSize 批量提交的最大事务数 1000 3.6.0+
flushDelay 提交日志刷盘延迟(毫秒) 0(禁用) 3.6.0+,高写入场景可设为10-20ms
maxWriteQueuePollTime 刷盘等待时间 flushDelay/3 3.6.0+
安全配置 sslQuorum 启用集群间SSL加密通信 FALSE 3.5.5+,需配合Netty使用
ssl.keyStore.location SSL密钥库路径 服务端SSL配置
ssl.keyStore.password 密钥库密码 支持加密密码
ssl.trustStore.location SSL信任库路径 验证客户端证书
authProvider.x 认证提供者类 如SASLAuthenticationProvider
skipACL 跳过ACL权限检查 no 开发环境可设为yes提升性能
kerberos.removeHostFromPrincipal Kerberos认证移除主机名 FALSE 3.5+
kerberos.removeRealmFromPrincipal Kerberos认证移除域 FALSE 3.5+
enforceQuota 强制配额检查 FALSE 3.7.0+,超限拒绝请求
监控与管理 metricsProvider.className 指标提供者类 3.6.0+,如PrometheusMetricsProvider
metricsProvider.httpPort 指标服务端口 7000 3.6.0+
4lw.commands.whitelist 四字命令白名单 如"stat,ruok,conf",*表示全部启用
cnxTimeout Leader选举连接超时 5秒 选举期间socket超时
3.5+动态配置 dynamicConfigFile 动态配置文件路径 3.5.0+,支持运行时修改集群
reconfigEnabled 启用动态重配置 FALSE 3.5.0+
standaloneEnabled 启用单机模式 TRUE 3.5.0+,设为false防止误启动单节点
localSessionsEnabled 启用本地会话 FALSE 3.5.0+,减少Leader压力
localSessionsUpgradingEnabled 自动升级本地会话 FALSE 3.5.0+,需配合localSessionsEnabled
3.6+新特性 requestThrottleLimit 请求限流阈值 0(禁用) 3.6.0+,限制最大未处理请求数
requestThrottleStallTime 请求等待最大时间 100ms 3.6.0+
requestThrottleDropStale 丢弃过期请求 TRUE 3.6.0+,连接关闭或超时的请求
maxConcurrentSnapSyncs 最大并发快照同步数 10 3.6.0+
maxConcurrentDiffSyncs 最大并发差异同步数 100 3.6.0+
3.7+新特性 enforce.auth.enabled 强制客户端认证 FALSE 3.7.0+,未认证拒绝操作
enforce.auth.schemes 强制认证方式列表 3.7.0+,如sasl,ssl
watchManagerName Watcher管理器实现 WatchManager 3.6.0+,可选WatchManagerOptimized
3.9+新特性 ssl.sslProvider SSL提供者 JDK 3.9.0+,可选OpenSSL等原生库

重要说明

  • 版本差异:不同版本默认值可能变化,如maxClientCnxns在3.5.3后从60改为2000

  • 动态配置:3.5.0+支持动态修改集群成员,无需重启

  • 性能关键:dataLogDir必须独立磁盘,tickTime和syncLimit对稳定性影响大

  • 安全配置:生产环境建议启用SASL或SSL,并设置skipACL=no

  • 监控建议:3.6.0+务必启用Prometheus指标导出

  • 所有参数均可通过修改conf/zoo.cfg文件并重启服务生效。Java系统属性参数需在启动命令中添加-Dkey=value指定。

    赞(0)
    未经允许不得转载:171主机测评 » zookeeper服务端配置
    分享到: 更多 (0)

    评论 抢沙发

    • 昵称 (必填)
    • 邮箱 (必填)
    • 网址