四、Kafka Broker

4.1.1 Zookeeper 存储的 Kafka 信息

4.1.2 Kafka Broker 总体工作流程

4.2 生产经验 - 节点的服役和退役

自己的理解:其实就是将kafka的分区,负载到集群中的各个节点上。

1、服役新节点

2、退役旧节点

4.3 kafka副本

1、副本的作用

2、Leader的选举流程

选举规则:在isr中存活为前提,按照AR中排在前面的优先。例如ar[1,0,2], isr [1,0,2],那么leader就会按照1,0,2的顺序轮询。

3、 Leader 和 Follower 故障处理细节

两个概念:

  • LEO(Log End Offset):每个副本的最后一个offset,LEO其实就是最新的offset + 1
  • HW(High Watermark):所有副本中最小的LEO

4、分区副本分配

5、手动分配分区副本

6、Leader Partition 负载平衡

正常情况下,Kafka本身会自动把Leader Partition均匀分散在各个机器上,来保证每台机器的读写吞吐量都是均匀的。但是如果某些broker宕机,会导致Leader Partition过于集中在其他少部分几台broker上,这会导致少数几台broker的读写请求压力过高,其他宕机的broker重启之后都是follower partition,读写请求很低,造成集群负载不均衡

·最好不要设置集群自动再平衡,因为它浪费集群大量的性能·

7、生产经验------增加副本因子

在生产环境当中,由于某个主题的重要等级需要提升,我们考虑增加副本。副本数的增加需要先制定计划,然后根据计划执行

【注意】不能直接通过命令行的方式修改副本,而是需要通过一下方式来增加副本数量 !

4.4 文件存储

1、文件存储机制

1) Topic 文件的存储机制

3)index 文件和 log 文件详解

2、文件清理策略

  1. Kafka 中默认的日志保存时间为 7 天,可以通过调整如下参数修改保存时间。

  2. Kafka 中提供的日志清理策略有 delete 和 compact 两种

    delete 日志删除:将过期数据删除

compact日志压缩:对于相同key的不同value值,只保留最后一个版本。用的比较少,知道即可

4.5 高效读写数据

1)Kafka 本身是分布式集群,采用分区技术,并行度高

2)读数据采用稀疏索引,可以快速定位要消费的数据

3)顺序写磁盘

4)页缓存 + 零拷贝技术

零拷贝:Kafka的数据加工处理操作交由Kafka生产者和Kafka消费者处理。Kafka Broker应用层不关心存储的数据,所以就不用走应用层,传输效率高

PageCache页缓存:Kafka重度依赖底层操作系统提供的PageCache功 能。当上层有写操作时,操作系统只是将数据写入PageCache。当读操作发生时,先从PageCache中查找,如果找不到,再去磁盘中读取。实际PageCache是把尽可能多的空闲内存都当做了磁盘缓存来使用

相关推荐
岁岁种桃花儿1 天前
Kafka从入门到上天系列第一篇:kafka的安装和启动
大数据·中间件·kafka
TTBIGDATA2 天前
【Atlas】Atlas Hook 消费 Kafka 报错:GroupAuthorizationException
hadoop·分布式·kafka·ambari·hdp·linq·ranger
indexsunny2 天前
互联网大厂Java面试实战:微服务与Spring生态技术解析
java·spring boot·redis·kafka·mybatis·hibernate·microservices
编程彩机2 天前
互联网大厂Java面试:从Spring Boot到分布式事务的技术场景解析
spring boot·kafka·分布式事务·微服务架构·java面试·技术解析
没有bug.的程序员2 天前
RocketMQ 与 Kafka 深度对垒:分布式消息引擎内核、事务金融级实战与高可用演进指南
java·分布式·kafka·rocketmq·分布式消息·引擎内核·事务金融
yumgpkpm2 天前
华为昇腾300T A2训练、微调Qwen过程,带保姆式命令,麒麟操作系统+鲲鹏CPU
hive·hadoop·华为·flink·spark·kafka·hbase
ApachePulsar2 天前
演讲回顾|谙流科技在 Kafka on Pulsar 之上的探索
分布式·科技·kafka
yumgpkpm3 天前
2026软件:白嫖,开源,外包,招标,晚进场(2025年下半年),数科,AI...中国的企业软件产业出路
大数据·人工智能·hadoop·算法·kafka·开源·cloudera
迎仔3 天前
09-消息队列Kafka介绍:大数据世界的“物流枢纽”
大数据·分布式·kafka
indexsunny3 天前
互联网大厂Java面试实录:Spring Boot微服务与Kafka消息队列实战解析
java·spring boot·微服务·面试·kafka·电商·技术解析