调大zookeeper的堆内存大小
cat /usr/local/zookeeper/conf/java.env
#!/bin/bash
#指定JDK的安装路径
export JAVA_HOME=/usr/local/jdk
#指定zookeeper的heap内存大小
export JVMFLAGS="-Xms256m -Xmx256m $JVMFLAGS"
生产调优参数模板参考
vi /zookeeper/conf/zoo.cfg
# 滴答,计时的基本单位,默认是2000毫秒,即2秒。它是zookeeper最小的时间单位,用于丈量心跳时间和超时时间等,通常设置成默认2秒即可。
tickTime=2000
# 初始化限制是10滴答,默认是10个滴答,即默认是20秒。指定follower节点初始化是链接leader节点的最大tick次数。
initLimit=5
# 数据同步的时间限制,默认是5个滴答,即默认时间是10秒。设定了follower节点与leader节点进行同步的最大时间。与initLimit类似,它也是以tickTime为单位进行指定的。
syncLimit=2
# 指定zookeeper的工作目录,这是一个非常重要的参数,zookeeper会在内存中在内存只能中保存系统快照,并定期写入该路径指定的文件夹中。生产环境中需要注意该文件夹的磁盘占用情况。
dataDir=/data/zookeeper
# 监听zookeeper的默认端口。zookeeper监听客户端链接的端口,一般设置成默认2181即可。
clientPort=2181
# 这个操作将限制连接到 ZooKeeper 的客户端的数量,限制并发连接的数量,它通过 IP 来区分不同的客户端。此配置选项可以用来阻止某些类别的 Dos 攻击。将它设置为 0 或者忽略而不进行设置将会取消对并发连接的限制。
maxClientCnxns=60
# 在上文中已经提到,3.4.0及之后版本,ZK提供了自动清理事务日志和快照文件的功能,这个参数指定了清理频率,单位是小时,需要配置一个1或更大的整数,默认是0,表示不开启自动清理功能。
# autopurge.purgeInterval=1
# 这个参数和上面的参数搭配使用,这个参数指定了需要保留的文件数目。默认是保留3个。
# autopurge.snapRetainCount=3
#server.A=B:C:D[:E]
# A:
# myid文件的内容,唯一标识一个zookeeper实例.
# B:
# myid对应的主机地址.
# C:
# leader的选举端口,谁是leader,哪个zookeeper实例就有相应的端口.
# D:
# 数据传输端口.
# E:
# 指定zookeeper的角色,分为"participant(参与者)"和"observer(观察者)"
# participant角色可以投票选举为leader,而observer无法参与leader的选举,也无法进行投票!
server.106=10.0.0.106:2888:3888:observer
server.107=10.0.0.107:2888:3888:participant
server.108=10.0.0.108:2888:3888:participant
# 跳过权限检查
# skipACL=yes
# 开启4字命令白名单.
4lw.commands.whitelist=*