文章目录
-
-
- 1、消息日志文件(.log)
- 2、消费者偏移量文件(__consumer_offsets)
- 3、偏移量索引文件(.index)
- [4、时间索引文件( .timeindex)](#4、时间索引文件( .timeindex))
- [5、检查点引文件( .checkpoint)](#5、检查点引文件( .checkpoint))
- 6、事务日志文件(.transaction.log)
- 7、配置文件(server.properties)
-
本章内容主要介绍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