当前位置: 首页 > news >正文

kafka学习笔记--broker工作流程、重要参数

本文内容来自尚硅谷B站公开教学视频,仅做个人总结、学习、复习使用,任何对此文章的引用,应当说明源出处为尚硅谷,不得用于商业用途。
如有侵权、联系速删
视频教程链接:【尚硅谷】Kafka3.x教程(从入门到调优,深入全面)

文章目录

  • Kafka Broker工作流程
    • Kakfa信息存储在Zookeeper中
    • Kafka Broker 总体工作流程
    • Broker 重要参数

Kafka Broker工作流程

Kakfa信息存储在Zookeeper中

Broker启动后会在zk中注册它的各种信息,如下图
请添加图片描述

Kafka Broker 总体工作流程

① broker启动,在zk中注册信息
② 谁先注册,谁成为Controller
③ Controller监听听brokers节点变化
④ Controller决定Leader选举
⑤ Controller将节点信息上传到ZK
⑥ 其他contorller从zk同步相关信息
正常的流程就结束了
⑦ 假设Broker1中Leader挂了
⑧ Controller监听到节点变化
⑨ 获取ISR(ISR是存储了正常节点的队列)
⑩ 选举新的Leader(在isr中存活为前提,按照AR中排在前面的优先)

AR:Kafka分区中的所有副本统称

11)更新Leader及ISR

请添加图片描述

Broker 重要参数

参数名称描述
replica.lag.time.max.msISR 中,如果 Follower 长时间未向 Leader 发送通信请求或同步数据,则该 Follower 将被踢出 ISR。该时间阈值,默认 30s。
auto.leader.rebalance.enable默认是 true。 自动 Leader Partition 平衡。
leader.imbalance.per.broker.percentage默认是 10%。每个 broker 允许的不平衡的 leader的比率。如果每个 broker 超过了这个值,控制器会触发 leader 的平衡。
leader.imbalance.check.interval.seconds默认值 300 秒。检查 leader 负载是否平衡的间隔时间。
log.segment.bytesKafka 中 log 日志是分成一块块存储的,此配置是指 log 日志划分 成块的大小,默认值 1G。
log.index.interval.bytes默认 4kb,kafka 里面每当写入了 4kb 大小的日志(.log),然后就往 index 文件里面记录一个索引。
log.retention.hoursKafka 中数据保存的时间,默认 7 天。
log.retention.minutesKafka 中数据保存的时间,分钟级别,默认关闭。
log.retention.msKafka 中数据保存的时间,毫秒级别,默认关闭。
log.retention.check.interval.ms检查数据是否保存超时的间隔,默认是 5 分钟。
log.retention.bytes默认等于-1,表示无穷大。超过设置的所有日志总大小,删除最早的 segment。
log.cleanup.policy默认是 delete,表示所有数据启用删除策略;如果设置值为 compact,表示所有数据启用压缩策略。
num.io.threads默认是 8。负责写磁盘的线程数。整个参数值要占总核数的 50%。
num.replica.fetchers副本拉取线程数,这个参数占总核数的 50%的 1/3
num.network.threads默认是 3。数据传输线程数,这个参数占总核数的50%的 2/3 。
log.flush.interval.messages强制页缓存刷写到磁盘的条数,默认是 long 的最大值,9223372036854775807。一般不建议修改,交给系统自己管理。
log.flush.interval.ms每隔多久,刷数据到磁盘,默认是 null。一般不建议修改,交给系统自己管理。
http://www.lryc.cn/news/258225.html

相关文章:

  • 多合一iPhone 解锁工具:iMyFone LockWiper iOS
  • 在设计和考虑建造室外雨水收集池时需要注意的因素
  • C_5练习题答案
  • 使用 Axios 进行网络请求的全面指南
  • 已解决java.lang.exceptionininitializererror异常的正确解决方法,亲测有效!!!
  • 深度学习 Day10——T10数据增强
  • ky10 x86 一键安装wvp gb28181 pro平台
  • FPGA时序分析与约束(0)——目录与传送门
  • Linux 驱动开发需要掌握哪些编程语言和技术?
  • Android studio生成二维码
  • python——第十六天
  • JWT介绍及演示
  • Android Studio新版UI介绍
  • 基于ssm应急资源管理系统论文
  • K8S学习指南(9)-k8s核心对象init pod
  • 以太坊:前世今生与未来
  • vue3若依框架,在页面中点击新增按钮跳转到新的页面,不是弹框,如何实现
  • 【大模型】800万纯AI战士年末大集结,硬核干货与音乐美食12月28日准时开炫
  • linux配置python环境
  • 【教程】app备案流程简单三部曲即可完成
  • C++使用vector创建二维数组并指定大小
  • Spring支持哪几种事务管理类型,Spring 的事务实现方式和实现原理是?
  • 书-二分查找找某个数字p155
  • 【NLP】RAG 应用中的调优策略
  • Android-Framework 默认隐藏导航栏,添加控制显示属性
  • 【AIGC】Midjourney高级进阶版
  • C语言学习----指针和数组
  • 学习Node.js与Webpack总结
  • JAVA基础知识:泛型
  • 【WinRAR】为什么右键没有压缩选项?