ZooKeeper Administrator's Guide

本文详细介绍了Zookeeper的各项配置参数,包括基本配置、高级配置及集群配置等,并提供了清理日志和镜像文件的方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值