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
相关推荐
Sarvartha13 分钟前
final 关键字
java·开发语言
2601_9520477918 分钟前
单一策略深度教程:用轻易云把集成任务的报错实时推送到钉钉机器人
java·机器人·钉钉
数据狐(Datafox)1 小时前
淘宝图片搜索 API 落地实战:基于以图搜货搭建跨境电商选品系统
java·大数据·微服务
刚子编程3 小时前
我用 ASP.NET Core 做了个水稻病虫害检查系统
后端·asp.net
谢亮_vipxieliang3 小时前
用 PHP 构建轻量级 REST API:从路由到鉴权的完整实践
开发语言·后端·php
Escalating_xu3 小时前
【C 语言】数据在内存中的存储:补码、大小端、整型陷阱与 IEEE 754 全解析
java·c语言·网络
灯澜忆梦3 小时前
【面向对象编程C++】| 基础语法
java·c++·算法
一个风轻云淡3 小时前
GCC 和 GDB命令简单解读
java·linux·前端