1. 硬件资源优化
zkServer.sh中的JVMFLAGS设置-Xms和-Xmx),避免内存争用;选择多核CPU以支持Zookeeper的并行请求处理。2. 操作系统配置优化
sudo sysctl vm.swappiness=0将swappiness设置为0(完全禁用交换分区),或在/etc/sysctl.conf中永久生效。ulimit -n 65536临时生效,或在/etc/security/limits.conf中添加zookeeper hard nofile 65536永久生效。3. Zookeeper配置参数优化
tickTime(心跳间隔,默认2000ms)可根据集群规模适当减小(如1000ms),但需平衡心跳开销;initLimit(Leader与Follower初始化同步时间,默认5tickTime)、syncLimit(同步操作超时时间,默认2tickTime)需根据网络延迟调整,避免因超时导致节点状态异常。maxClientCnxns参数限制每个客户端的最大连接数(如maxClientCnxns=100),防止单个客户端过度占用服务器资源。autopurge.snapRetainCount=5(保留最近5个快照)和autopurge.purgeInterval=24(每24小时执行一次清理),自动删除旧的事务日志和快照,减少磁盘空间占用。dataDir(快照文件路径)和dataLogDir(事务日志路径)设置在不同磁盘(如dataDir=/data/zookeeper/snapshot、dataLogDir=/data/zookeeper/log),避免两者竞争磁盘I/O,提升写入性能。4. 监控与持续调优
zookeeper.out、log.*),关注WARN、ERROR级别的日志(如连接超时、磁盘空间不足),快速定位并解决问题。