本文转载自:Sunddenly(⊙_⊙)
(1)dataDir
用于存放 内存数据库快照 的文件夹,同时用于集群的 myid文件 也存在这个文件夹里。(2) dataLogDir
用于单独设置transaction log的目录,transaction log分离可以避免和普通log还有快照的竞争。
(3) tickTime
心跳时间 ,为了确保client-server连接存在的,以毫秒为单位,最小超时时间为两个心跳时间。
(4) clientPort
客户端监听端口。
(5) globalOutstandingLimit
client 请求队列的最大长度 ,防止内存溢出,默认值为1000。
(6) preAllocSize
预分配的Transaction log空间 block为proAllocSize KB,默认block为64M,一般不需要更改,除非snapshot过于频繁。
(7) snapCount
在snapCount个snapshot后写一次transaction log,默认值是100,000。
(8) traceFile
用于 记录请求的log ,打开会影响性能,用于debug,最好不要定义。
(9) maxClientCnxns
最大并发客户端数,用于防止DOS的,默认值是10,设置为0是不加限制。
(11) clientPortBindAddress
可以设置指定的client ip以及端口,不设置的话等于ANY:clientPort
(12) minSessionTimeout
最小的客户端session超时时间,默认值为2个tickTime,单位是毫秒
(13) maxSessionTimeout
最大的客户端session超时时间,默认值为20个tickTime,单位是毫秒
(14) electionAlg
用于选举的实现的参数:
① 0:为以原始的基于UDP的方式协作
② 1:为不进行用户验证的基于UDP的快速选举
③ 2:为进行用户验证的基于UDP的快速选举
④ 3:为基于TCP的快速选举,默认值为3
(15) initLimit
多少个tickTime内,允许其他 server连接并初始化数据 ,如果zooKeeper管理的数据较大,则应相应增大这个值。
(16) syncLimit
多少个tickTime内,允许 follower同步 ,如果follower落后太多,则会被丢弃。
(17) leaderServes
leader是否接受客户端连接 。默认值为yes。leader负责协调更新。当更新吞吐量远高于读取吞吐量时,可以设置为不接受客户端连接,以便leader可以专注于同步协调工作。
(18) server.x=[hostname]:nnnnn[:nnnnn]
配置集群里面的主机信息,其中:
①server.x:server.x的x要写在myid文件中,决定当前机器的id,
②第一个port用于连接leader,
③第二个用于leader选举。
④如果electionAlg为0,则不需要第二个port。
⑤hostname也可以填ip。
(19)group.x=nnnnn[:nnnnn]
分组信息,表明哪个组有哪些节点,例如group.1=1:2:3 group.2=4:5:6 group.3=7:8:9。
(20)weight.x=nnnnn
权重信息,表明哪个结点的权重是多少,例如weight.1=1 weight.2=1 weight.3=1。