zookeeper学习、配置文件参数详解

news2025/1/11 7:57:51

zookeeper学习、配置文件参数详解

  • zookeeper 配置文件参数详解
  • tickTime 、session 的过期时间、maxSessionTimeout 三者之间的关系
  • initLimit,syncLimit什么区别
  • minSessionTimeout 默认值,**他的单位是ms**

在这里插入图片描述

zookeeper 配置文件参数详解


ZooKeeper 是一个分布式协调服务,它可以维护配置信息、命名空间、分布式同步等。ZooKeeper 的配置文件通常是 zoo.cfg,这个文件中包含了 ZooKeeper 运行所需要的配置信息。

以下是一些主要的 ZooKeeper 配置参数及其含义:

  1. tickTime:这是 ZooKeeper 中的基本时间单位,以毫秒为单位。这个值会影响到其他很多配置项,比如 session 的过期时间就是由这个值和 maxSessionTimeout 来共同决定的。

  2. dataDir:ZooKeeper 保存数据的目录。这个目录会包含一个名为 version-2 的文件夹,里面保存了所有的事务日志和快照文件。

  3. dataLogDir:这个是 ZooKeeper 保存事务日志的目录,如果配置了这个参数,事务日志就不会保存在 dataDir 中了。

  4. clientPort:客户端连接 ZooKeeper 服务的端口,默认是 2181。

  5. initLimit:这个参数配置了启动 ZooKeeper 服务器与连接到它的 followers 之间的心跳检测频率。这个值是以 tickTime 为单位的。

  6. syncLimit:这个参数配置了 ZooKeeper 服务器与连接到它的 followers 之间同步的频率。这个值也是以 tickTime 为单位的。

  7. maxClientCnxns:这个参数配置了 ZooKeeper 能接受的最大客户端连接数。

  8. minSessionTimeout:这个参数配置了 session 的最小超时时间,这个值是以 tickTime 为单位的。

  9. maxSessionTimeout:这个参数配置了 session 的最大超时时间,这个值也是以 tickTime 为单位的。

  10. server.x=A:B:C:这个是集群模式下配置的,x 是服务器的编号,A 是这个服务器的 IP 地址,B 是这个服务器与其他 ZooKeeper 服务器通信的端口,C 是这个服务器用来选举 leader 的端口。

以上是 ZooKeeper 配置文件中的一些主要参数,具体配置应根据实际的需要进行调整。具体的配置方式和详细的参数列表可以参考官方文档。


tickTime 、session 的过期时间、maxSessionTimeout 三者之间的关系


在ZooKeeper中,会话超时的设定是有范围限制的,这个范围是由 tickTimemaxSessionTimeout 两个配置参数决定的。

  1. tickTime:这是 ZooKeeper 中的基本时间单位,以毫秒为单位。

  2. maxSessionTimeout:这个参数配置了 session 的最大超时时间,这个值也是以 tickTime 为单位的。默认情况下,这个值是 tickTime 的 20 倍。,它的单位也是毫秒

会话超时的时间不能超过 maxSessionTimeout 的值,也不能低于 tickTime 的 2 倍。这个规则在客户端创建会话并设置超时时间时会被 ZooKeeper 服务器检查并执行。如果客户端请求的会话超时时间超出了这个范围,那么 ZooKeeper 服务器会将其调整到这个范围的边界上。

所以,tickTimesession 的过期时间以及 maxSessionTimeout 这三者之间的关系可以总结为:session 的过期时间是以 tickTime 为单位的,且其值在 2 * tickTimemaxSessionTimeout 这个范围内。


initLimit,syncLimit什么区别


initLimitsyncLimit 都是用于在 ZooKeeper 集群中管理服务器之间的交互的参数,但它们的应用场景和用途有所不同:

  1. initLimit:这个参数用于配置 ZooKeeper 服务器启动时,leader 和 follower 之间的初始化连接时间,单位为 tickTime。当 ZooKeeper 集群启动时,或者当 leader 服务器宕机后,follower 服务器会与新的 leader 服务器建立连接,这个参数就是用来配置这个连接过程的超时时间的。如果在这个超时时间内,follower 服务器不能与 leader 服务器完成连接,那么 follower 服务器会认为这个连接失败。

  2. syncLimit:这个参数用于配置 ZooKeeper 集群运行时,leader 和 follower 之间的正常交互时间,单位也是 tickTime。这个参数决定了 follower 服务器能容忍的最长的与 leader 服务器的请求响应时间。如果超过这个时间,follower 服务器会认为与 leader 服务器的连接已经断开,然后尝试重新连接或者启动新一轮的 leader 选举。

简单地说,initLimit 是用来配置 follower 服务器在启动或者重新选举 leader 时,与 leader 服务器连接的最长等待时间,而 syncLimit 是用来配置 follower 服务器在正常运行时,与 leader 服务器交互的最长等待时间。

最新解释:

ZooKeeper 在工作时通常有一个领导者(Leader)和多个追随者(Follower),他们需要进行通信以保持同步。initLimitsyncLimit 都是用于管理这些通信的参数。

  1. initLimit:这个参数主要用于 ZooKeeper 集群启动时或者领导者(Leader)崩溃后重新选举时,Follower 服务器与新的 Leader 服务器之间的初始化和同步连接的时间。可以理解为它定义了集群成员连接到新的领导者并同步所有最新数据的最长时间。如果在 initLimit * tickTime 这么长的时间内 Follower 没有完成同步,那么它会被丢弃。
  2. syncLimit:这个参数主要用于运行中的 ZooKeeper 集群,定义了 Leader 和 Follower 之间发送消息、请求和应答的最长时间。如果 Follower 在 syncLimit * tickTime 这么长的时间内没有和 Leader 进行有效交互(例如,接收到 Leader 的心跳消息),那么 Follower 会认为连接已经断开。

所以简单来说,initLimit 是在集群初始化或领导者更换时,Follower 连接并同步 Leader 的最长等待时间。而 syncLimit 是在集群正常运行期间,Follower 与 Leader 之间保持联系的最长时间。两者都是以 tickTime(ZooKeeper 的基本时间单位)为单位计算的。


minSessionTimeout 默认值,他的单位是ms


在 Apache ZooKeeper 的默认配置中,minSessionTimeout 这个参数的默认值并未明确设定。

如果没有显式地设置 minSessionTimeout,ZooKeeper 将使用 tickTime 的两倍作为会话的最小超时时间。这意味着,如果你没有单独设置 minSessionTimeout,并且你的 tickTime 是默认的 2000 毫秒,那么 minSessionTimeout 将会是 4000 毫秒。

因此,在设置会话超时时,需要确保它在 minSessionTimeout(默认为 tickTime 的两倍)和 maxSessionTimeout 之间。如果提供的值超出这个范围,ZooKeeper 服务器将会调整会话超时时间到这个范围的边界值。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1836750.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

字节豆包大模型API吞吐、函数调用能力、长上下文能力测试总结

离开模型能力谈API价格都是耍流氓,豆包大模型作为API最便宜的模型之一,最近向个人开发者开放了,花了300元和一些时间对模型的API吞吐、函数调用能力、长上下文能力等进行了深度测试,看看它的能力究竟适合做 AI 应用开发吗&#xf…

Study--Oracle-03-数据库常规操作

一路走来,所有遇到的人,帮助过我的、伤害过我的都是朋友,没有一个是敌人。 一、oracle 版本及主要功能 二、数据安装完成后常用操作SQL 1、检查数据库监听状态 监听的常用命令 启动:[oracleoracle u01]$ lsnrctl stop 停止&am…

【车载音视频AI电脑】全国产海事船载视频监控系统解决方案

海事船载视频监控系统解决方案针对我国快速发展的内河航运、沿海航运和远洋航运中存在的航行安全和航运监管难题,为船舶运营方、政府监管部门提供一套集视频采集、存储、回放调阅为一体的视频监控系统,对中大型船舶运行中的内部重要部位情况和外部环境进…

Zabbix+Garafana监控部署

ZabbixGarafana监控部署 一、IP规划 服务器IP备注zabbix-server192.168.100.128zabbix服务端Garafanazabbix-mysql192.168.100.130数据库zabbix-client192.168.100.132zabbix客户端 二、zabbix-server安装zabbix ​ 配置IP地址为:192.168.100.128 ​ 关闭防火墙…

Linux文件与内容查阅、归档压缩

#Linux系统基础 文件与内容查找、归档压缩 find命令搜索文件 grep对文件的内容进行搜索 tar命令进行文件的压缩与解压缩 一、文件的查找 格式实例:find . -name "123.txt"说明find起始目录查找类型查找条件./ 或 .-name“123.txt”在当前目录中查找…

[保姆级教程]uniapp实现页面路由配置

文章目录 新建目录新建页面配置页面路由修改tabBar地址其他:在package.json中的pages配置详细 新建目录 先点击src–》新建–》目录 输入名称,并以此类推完成所有新建目录 新建页面 右击目录,点击新建–》vue文件 弹出弹框,…

“首秀”欧洲杯,海信冰箱欧洲市占率居国产品牌首位

随着欧洲杯的火热开赛,挑灯夜战、观看球赛的时刻已经来临。此时,你需要何物相伴?是打开冰箱,取出真空腌制的食材,亲手烹饪一场观赛盛宴?还是取出极致保鲜的荔枝、樱桃,一边观赛一边品味&#xf…

failed to create network xxxx: Error response from daemon

问题描述: 启动项目时,docker内部网络冲突。 解决方案: 1.删除所有docker容器(强制删除一个或多个容器,即使它们正在运行) docker rm -f $(docker ps -aq) 2.验证docker容器是否删除成功 docker ps --…

HuggingFace烧钱做了一大批实验,揭示多模态大模型哪些trick真正有效

构建多模态大模型时有很多有效的trick,如采用交叉注意力机制融合图像信息到语言模型中,或直接将图像隐藏状态序列与文本嵌入序列结合输入至语言模型。 但是这些trick为什么有效,其计算效率如何,往往解释得很粗略或者或者缺乏充分…

Centos/Ubuntu等Linux系统下增加扩展4个串口以上配置操作

linux(Ubuntu、centos等)标准发行版系统默认是最多识别到4个COM串口设备,超过4个设备的串口则无法识别使用,想要载入使用则需要手动修改下grub配置文件,手动指定即可!可以参考如下步骤,有出入的地方大家可以…

Chromium 开发指南2024 Mac篇-安装和配置depot_tools工具(三)

1.引言 在前两篇指南中,我们详细介绍了在 macOS 环境下编译 Chromium 所需的硬件要求和系统依赖,并具体讲解了如何正确安装和配置 Xcode。通过这些步骤,您已经为编译 Chromium 打下了坚实的基础。然而,编译 Chromium 还需要配置一…

pip导出格式错乱问题

pip导出带有各种路径 pip只导出版本 pip list | tail -n 3 | awk {print $1""$2} > requirements.txt

JY-156/1静态电压继电器 板前接线 约瑟JOSEF

JY-150系列电压继电器适用于继电保护线路中,作为过电压保护或低电压闭锁的动作元件。 该产品采用集成电路原理构成,它克服了原来电磁型电压继电器触点易抖动,工作时噪音大,动作值、返回值难调整及运输后动作值易变等缺点&#xff…

STM32学习 时钟树

在单片机中,时钟的概念非常重要,这次记录一下时钟树相关的知识。 STM32的时钟树是由多个时钟源和时钟分频组成的,为STM32芯片提供各种时钟信号。也就是说,在使用STM32的时候,所有的频率和时钟都是通过时钟树产生的。 …

概念描述——TCP/IP模型中的两个重要分界线

TCP/IP模型中的两个重要分界线 协议的层次概念包含了两个也许不太明显的分界线,一个是协议地址分界线,区分出高层与低层寻址操作;另一个是操作系统分界线,它把系统与应用程序区分开来。 高层协议地址界限 当我们看到TCP/P软件的…

5.How Fast Should You Be When Learning?(你应该用多快的速度学习?)

Normally when I talk about learing quickly, I’m using speed as a synonym for efficiency.Use more effective methods and you’ll learn more in less time.All else being equal, that means you’re learing faster. 通常我在谈到快速学习时,是把“速度&qu…

gorm 学习笔记 五:自定义数据类型和枚举

一:Json类型 Info保存到数据库时,通过Value()转化为json,读取出来的时候 json字符串自动转成结构体Info type Info struct {Status string json:"status"Addr string json:"addr"Age int json:"age"…

光纤三维布里渊温度和应变分布matlab模拟与仿真

目录 1.程序功能描述 2.测试软件版本以及运行结果展示 3.核心程序 4.本算法原理 5.完整程序 1.程序功能描述 光纤三维布里渊温度和应变分布matlab模拟与仿真。其中 , 布里渊散射是光波与声波在光纤中传播时相互作用而产生的光散射过程 , 在不 同的条件下 , 布里渊散射又分…

【SpringBoot集成Spring Security】

一、前言 Spring Security 和 Apache Shiro 都是安全框架,为Java应用程序提供身份认证和授权。 二者区别 Spring Security:重量级安全框架Apache Shiro:轻量级安全框架 关于shiro的权限认证与授权可参考小编的另外一篇文章 : …

Playwright工作原理

执行test时,有哪些关键步骤 当我们用Playwright编写一段简单的test script,代码如下所示:在test case中第一段代码就是await page.goto(xxxxx) import { test, expect } from playwright/test;test(test, async ({ page }) > {await page…