kafka常用目录文件解析

文章目录

本章内容主要介绍kafka内的一些重要目录和文件,并解释其中的存储的内容和作用

1、消息日志文件(.log)

路径:/tmp/kafka/broker2/data/

根据上图解释,如果当前创建一个主题叫stream-topic1,则会创建三个(配置分片数)主题目录stream-topic1-0、stream-topic1-1、stream-topic1-2,进入其中一个目录stream-topic1-0,里面名字相同的.log、.index和.timeindex文件就是Segment

2、消费者偏移量文件(__consumer_offsets)

路径:/tmp/kafka/broker2/data

作用:在kafka的broke/data下存在50个__consumer_offsets文件,这些文件和普通的 topic 相同。它们作用之一就是保存 consumer 提交的位移

3、偏移量索引文件(.index)

路径:/tmp/kafka/broker2/data/stream-topic1-2

作用:与 .log 文件对应,用于快速定位某个偏移量的消息在 .log 文件中的位置

4、时间索引文件( .timeindex)

路径:/tmp/kafka/broker2/data/stream-topic1-2

作用:基于消息时间戳的索引,允许根据时间范围快速检索消息。

5、检查点引文件( .checkpoint)

路径:/tmp/kafka/broker2/data

在这个路径下可以看到有几个checkpoint文件

作用:发生故障时,Kafka 可以从检查点恢复处理,确保一致性。

  • replication-offset-checkpoint:已经确认复制给其他副本的offset,也就是HW
  • recovery-point-offset-checkpoint:负责记录topic已经被写入磁盘的offset
  • cleaner-offset-checkpoint:存了每个log的最后清理offset
  • log-start-offset-checkpoint:文件对应logStartOffset,用来标识日志的起始偏移量

6、事务日志文件(.transaction.log)

路径:.transaction.log文件通常位于Kafka安装目录下的log.dirs指定的目录中

作用:记录事务的提交或回滚状态,确保事务消息的一致性和可靠性

7、配置文件(server.properties)

路径:容器内 /opt/kafka/config

powershell 复制代码
#每个Kafka节点必须有唯一的标识符
broker.id=1 
#指定Kafka消息存储的目录
log.dirs=/kafka/data
#设置Kafka服务的监听地址及端口
listeners=PLAINTEXT://:9092
#指定默认的分区数量,分区越多,Kafka的并行处理能力越强
num.partitions=1
num.recovery.threads.per.data.dir=1

offsets.topic.replication.factor=1
transaction.state.log.replication.factor=1
transaction.state.log.min.isr=1

#设置日志保留的时间
log.retention.hours=168
#当内容文件达到这个配置的字节数大小时,消息存储的内容文件就会分隔,新增一个内容文件(.log  .index  .timeindex)来存储内容
log.segment.bytes=1073741824
#清理器检查日志符合被删除条件的轮询时间
log.retention.check.interval.ms=300000
相关推荐
我是咸鱼不闲呀11 小时前
力扣Hot100系列22(Java)——[图论]总结(岛屿数量,腐烂的橘子,课程表,实现Trie(前缀树))
java·leetcode·图论
1104.北光c°11 小时前
深入浅出 Elasticsearch:从搜索框到精准排序的架构实战
java·开发语言·elasticsearch·缓存·架构·全文检索·es
MSTcheng.11 小时前
【优选算法必修篇——位运算】『面试题 01.01. 判定字符是否唯一&面试题 17.19. 消失的两个数字』
java·算法·面试
蹦哒11 小时前
Kotlin 与 Java 语法差异
java·python·kotlin
SmartBrain11 小时前
Spring Boot的高性能技术栈的工程实践
spring boot·后端·架构
左左右右左右摇晃11 小时前
Java并发——并发编程底层原理
java·开发语言
一个有温度的技术博主11 小时前
Redis系列八:Jedis连接池在java中的使用
java·redis·bootstrap
cyforkk11 小时前
Java 并发编程教科书级范例:深入解析 computeIfAbsent 与方法引用
java·开发语言
后青春期的诗go11 小时前
泛微OA-E9与第三方系统集成开发企业级实战记录(八)
java·接口·金蝶·泛微·oa·集成开发·对接
dreamxian11 小时前
苍穹外卖day09
java·spring boot·tomcat·log4j·maven