数据程序设计 2022-05-23 17:41 采纳率: 0%
浏览 873
已结题

第2关ZooKeeper配置 头歌

任务描述
本关任务:了解ZooKeeper的配置并根据需求正确配置ZooKeeper。

相关知识
为了完成本关任务,你需要掌握:1.ZooKeeper服务器启动,2.命令行基本操作。

配置项介绍
基础配置
tickTime:Client和Server通信心跳数。
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条回答 默认 最新

  • 数据程序设计 2022-05-23 19:27
    关注

    第一关 ZooKeeper初体验
    tar -zxvf zookeepre-3.4.12.tar.gz /opt/zookeeper-3.4.12
    cd /opt/zookeeper-3.4.12/conf
    mv zoo_sample.cfg zoo.cfg
    zkServer.sh start

    zkServer.sh stop

    第2关:ZooKeeper配置

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

    把 “# maxClientCnxns=60 ”
    改为
    maxClientCnxns=100

    第3关:Client连接及状态

    zkServer.sh stop
    vim /opt/zookeeper-3.4.12/conf/zoo.cfg

    clientPort=2182

    preAllocSize=300

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

    ZOO_LOG_DIR="/opt/zookeeper-3.4.12"

    zkServer.sh start
    zkCli.sh -server 127.0.0.1:2182

    评论 编辑记录

报告相同问题?

问题事件

  • 系统已结题 5月31日
  • 修改了问题 5月23日
  • 创建了问题 5月23日

悬赏问题

  • ¥15 如何让企业微信机器人实现消息汇总整合
  • ¥50 关于#ui#的问题:做yolov8的ui界面出现的问题
  • ¥15 如何用Python爬取各高校教师公开的教育和工作经历
  • ¥15 TLE9879QXA40 电机驱动
  • ¥20 对于工程问题的非线性数学模型进行线性化
  • ¥15 Mirare PLUS 进行密钥认证?(详解)
  • ¥15 物体双站RCS和其组成阵列后的双站RCS关系验证
  • ¥20 想用ollama做一个自己的AI数据库
  • ¥15 关于qualoth编辑及缝合服装领子的问题解决方案探寻
  • ¥15 请问怎么才能复现这样的图呀