• 第2关:ZooKeeper配置


    配置项介绍

    基础配置

    • tickTimeClientServer通信心跳数。 Zookeeper服务器之间或客户端与服务器之间维持心跳的时间间隔,也就是每隔tickTime的时间就会发送一个心跳。tickTime以毫秒为单位。

    • initLimit:LF初始通信时限。 集群中的follower服务器(F)与leader服务器(L)之间初始连接时能容忍的最多心跳数(tickTime的数量)。

    • syncLimit:LF同步通信时限。 集群中的follower服务器与leader服务器之间请求和应答之间能容忍的最多心跳数(tickTime的数量)。

    • dataDir:数据文件目录。 Zookeeper保存数据的目录,默认情况下,Zookeeper将写数据的日志文件也保存在这个目录里。

    • clientPort:客户端连接端口。 客户端连接Zookeeper服务器的端口,Zookeeper会监听这个端口,接受客户端的访问请求。

    • maxClientCnxns:客服端最大连接数 默认值是60,一个客户端能够连接到同一个服务器上的最大连接数,根据IP来区分。如果设置为0,表示没有任何限制。设置该值一方面是为了防止DoS攻击。

    高级配置

    一般情况下,不需要更改或添加以下配置,根据用户实际需求再添加或修改即可。

    • dataLogDir:用于配置ZooKeeper服务器存储事务日志文件的路径。

    • globalOutstandingLimit:限制系统中未处理的请求数量不超过globalOutstandingLimit设置的值。默认的限制是1000

    • preAllocSize:用于配置ZooKeeper事务日志文件预分配的磁盘空间大小。默认的块大小是64M

    • snapCount: ZooKeeper将事务记录到事务日志中。当snapCount 个事务被写到一个日志文件后,启动一个快照并创建一个新的事务日志文件。snapCount的默认值是100000

    • traceFile:如果定义了该选项,那么请求将会记录到一个名为 traceFile.year.month.day的跟踪文件中。

    • autopurge.snapRetainCount: 当启用自动清理功能后, ZooKeeper将只保留autopurge.snapRetainCount个最近的数据快照(dataDir)和对应的事务日志文件(dataLogDir),其余的将会删除掉。默认值是3,最小值也是3

    • autopurge.purgeInterval:用于配置触发清理任务的时间间隔, 以小时为单位。要启用自动清理,可以将其值设置为一个正整数(大于1)。默认值是0

    • syncEnabled: 和参与者一样,观察者现在默认将事务日志以及数据快照写到磁盘上, 这将减少观察者在服务器重启时的恢复时间。将其值设置为false可以禁用该特性。默认值是true

    • minSessionTimeout:服务器允许客户端会话的最小超时时间,以毫秒为单位。默认值是2倍的tickTime

    • maxSessionTimeout:服务器允许客户端会话的最大超时时间,以毫秒为单位。默认值是20倍的tickTime

    日志输出配置

    ZooKeeper的日志输出信息都打印到了zookeeper.out文件中,这样输出路径没有办法控制。

    通过修改zkEnv.sh可以达到控制日志输出信息的位置。使用如下命令(如图所示):

    vi /opt/zookeeper-3.4.12/bin/zkEnv.sh

    根据实际情况修改ZOO_LOG_DIR的值并保存即可。

     

    ZooKeeper配置

    根据用户实际需求修改配置文件,以达到用户的目标。

    一般地,ZooKeeper的配置文件放在安装目录的conf文件夹中,通过vi命令直接修改并保存,并重启ZooKeeper即可完成。

    例如:

    vi /opt/zookeeper-3.4.12/conf/zoo.cfg

     

    根据需求直接编辑并保存即可(#为注释符号,表示该行不会被ZooKeeper读取。例如maxClientCnxns,如果希望该配置项生效,需要将#删除)。

    编程要求

    本关任务是使用命令行,将最大用户连接数设置为100,并启动服务器(启动服务器之前确保服务器处于关闭状态,可通过status查看服务器状态)。

    1. vi /opt/zookeeper-3.4.12/conf/zoo.cfg
    2. 把 “# maxClientCnxns=60
    3. 改为
    4. maxClientCnxns=100
    5. zkServer.sh start

  • 相关阅读:
    13-Spring架构源码分析-IoC 之开启 Bean 的加载
    Unity中关于多线程的一些事
    redis cluster 集群,终极方案?
    jjwt使用说明-笔记
    Java线程的并发工具类
    【Spring云原生系列】SpringBoot+Spring Cloud Stream:消息驱动架构(MDA)解析,实现异步处理与解耦合
    设计模式-代理模式
    高版本pytorch运行低版本pytorch常见问题汇总记录
    设计模式-行为型模式-策略模式
    PHP 5 Filesystem 函数
  • 原文地址:https://blog.csdn.net/qq_61604164/article/details/127903519