zk的核心参数说明

ticktime:zk里的最小时间单位,2000毫秒。(zk的一些其他参数设置时间,会以ticktime为基准)

dataDir:存放zk里的数据快照。

dataLogDir:主要存放日志数据。

initLimit:zk启动时,Leader和Follower建立连接及同步数据的时间(默认为10*ticktime,20s)。若集群数据较多,可以调大该值。达到时间,Leader就不再等Follower,直接进入消息广播模式,对外提供服务。

syncLimit:Leader和Follower进行心跳的时间(默认5*ticktime,10s)。如果超过时间没有进行心跳连接,Leader会认为该Follower已经死掉,直接剔除。

snapCount:事务日志数量(默认100000),多久进行一次快照存储。

snapSizeLimitInKb:事务的大小(默认4G),多大进行一次快照存储。

maxClientCnxns:zk默认的可以连接的客户端(60个,3.4.0以前是10)。

maxBuffer:一个znode中可以存储数据的大小(默认1M)。

autopurge.purgeInterval=1 该参数指定清理的频率(单位是小时),默认是0,表示不开启自己清理功能。

autopurge.snapRetainCount=3 和上面参数联合使用,指定需要保存的文件数目(默认是3个)。

forceSync:默认yes,zk提交事务时,是否将日志操作强制刷新磁盘(此处是顺序输盘,效率较高)。改为no,可以提高写性能,但是存在数据不能及时刷盘,数据丢失问题。

fsync.warningthresholdms:zk进行事务日志fsync操作时消耗时间的报警阈值,一旦大于该时间,就会打印报警日志。

globalOutstandingLimit:zk服务器最大请求堆积量(默认1000),在zk运行期间,客户端不断的将请求发送到服务端,防止服务端资源耗尽,限制同时处理请求数。

skipAcl:是否可以跳过acl权限校验(默认为no)

与Leader相关的两个参数

leaderServers:leader是否可以接受客户端连接,可以接受并处理写请求,也可以设置成no,写请求由follower转发给Leader进行处理,Leader专注进行分布式协调(默认yes)。

cnxTimeOut:在Leader选举中,各服务器间的tcp连接超时时间(默认5000)。