您的位置:首页 > 产品设计 > UI/UE

ZooKeeper Administrator's Guide

2015-03-16 11:52 99 查看
1、清理Zookeeper日志、镜像文件

默认配置下,Zookeeper不会清楚旧的日志、节点镜像文件,存在一种危险,随着日志文件大小的增长,Zookeeper所有节点状态数据镜像将写入文件系统,这个文件系统会取代之前的日志文件。

可采用一个定时任务,执行以下代码,将最近count个镜像文件保存,删除count数以前镜像文件,其中<count>必须大于3.

java -cp zookeeper.jar:lib/slf4j-api-1.7.5.jar:lib/slf4j-log4j12-1.7.5.jar:lib/log4j-1.2.16.jar:conf org.apache.zookeeper.server.PurgeTxnLog <dataDir> <snapDir> -n <count>


3.4.0 版本之后可以在zoo.cfg中配置镜像保持数量以及清除周期。配置项如下:

parametersautopurge.snapRetainCount
=

autopurge.purgeInterval=

当事物日志文件损坏导致server启动不起来时,可通过命令stat查看其它server状态,在其它server正常其中之后,可以删除datadir/version-2
和datalogdir/version-2

/目录,然后重启server。

2、Zookeeper 日志log配置
配置文件位置 /conf/log4j.properties

3、Zookeeper配置

基本配置:

1)clientPort server端口

2)dataDir
内存数据库镜像存储地址,如果没有特殊声明也将存储数据库更新事物日志。

3)tickTime
心跳周期,基本周期单位,如session过期时间。


高级配置:


1)dataLogDir 事物日志文件存储地址,可提供专门log存储设备,以减少与镜像文件存储的竞争。

2) globalOutstandingLimit 限制client提交request 个数,缺省值1000.

3)preAllocSize 设置事物日志文件存储大小,缺省为64M。

4)snapCount 设置节点镜像文件存储大小,缺省为100,000,当满足大小后,将再创建日志文件存储日志数据。

5)traceFile
ruquests存储文件。

6)maxClientCnxns 最大并发数据量,缺省大小60。

7)clientPortAddress 限制可连接server的client地址。

8)minSessionTimeout 最小session过期时间,缺省为2倍的tickTime。

9)maxSessionTimeout 最大session过期时间,缺省为20倍的tickTime。

10)fsync.warningthresholdms 报警信息写入日志文件门限,缺省为每秒1000条。

11)autopurge.snapRetainCount 可保存最近镜像文件个数,最小为3,缺省值为3。

12)autopurge.purgeInterval 定时清除日志周期单位为小时,缺省为0,必须为整数。

13)syncEnabled 是否根据日志文件快速回复server。

集群配置参数:

1)electionAlg leader选取算法实现设置,现在可选择值为3,给予TCP的快速选择算法。0,1,2已过期。

2)initLimit 设置followers连接和同步leader时间。单位tickTime。

3)leaderServes 设置leader是否可接受client连接,当高并发的数据协调更新时,可设置为false。

4)server.x=[hostname]:nnnnn[:nnnnn], etc
列表配置组成server ensembel。通过data目录下的myid文件标识不同server,文件存储这server的号。
第一个nnnnn 端口为followers连接leader端口,第二个nnnnn端口为leader连接端口。连接端口只对electionAlg
is 1, 2, or 3 (default).有效。
同一机器上测试不同server,必须设置不同nnnn端口。

5) syncLimit followers同步leader时间设置,单位tickTime。

6)group.x=nnnnn[:nnnnn]

weight.x=nnnnn server权重系数,将server进行分组。
示例:

group.1=1:2:3
group.2=4:5:6
group.3=7:8:9

weight.1=1
weight.2=1
weight.3=1
weight.4=1
weight.5=1
weight.6=1
weight.7=1
weight.8=1
weight.9=1


7)cnxTimeout ,针对electionAlg=3有效,leader选取通知连接过期时间,缺省5秒。

8)standaloneEnabled 设置是否为单机模式。

认证
1)zookeeper.DigestAuthenticationProvider.superDigest
缺省为false,当验证为super时,对节点的访问不需要进行ACL验证。

org.apache.zookeeper.server.auth.DigestAuthenticationProvider 可以提供认证方法,通过字符串super:<password>

其它
1)Read
Only Mode Server 设置sever只读模式。

不安全配置

1)forceSync 设置更新操作同步到日志文件中。

2)jute.maxbuffer: 节点数据最大存储值,缺省为0xfffff,低于1M。

3)skipACL 设置节点是否进行权限ACL检查。

4)quorumListenOnAllIPs server将监听可获取IP地址,不仅仅是配置的client的地址。

设置不创建data文件,可通过设置环境变量

ZOO_DATADIR_AUTOCREATE_DISABLE =1,或者命令行 zkServer
-Dzookeeper.datadir.autocreate=false,命令行

下测试不可用。配置文件可以zookeeper.datadir.autocreate=false
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: