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

kafka常用目录文件解析

文章目录

      • 1、消息日志文件(.log)
      • 2、消费者偏移量文件(__consumer_offsets)
      • 3、偏移量索引文件(.index)
      • 4、时间索引文件( .timeindex)
      • 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

#每个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

http://www.kler.cn/a/517274.html

相关文章:

  • 「 机器人 」扑翼飞行器的数据驱动建模核心方法
  • 9、Docker环境安装Nginx
  • easyexcel读取写入excel easyexceldemo
  • docker: Device or resource busy
  • mock可视化生成前端代码
  • vim在命令模式下的查找功能
  • 深度学习系列76:流式tts的一个简单实现
  • Vue3 + TS 实现批量拖拽 文件夹和文件 组件封装
  • SQL面试题3:累计汇总类、直播间同时在线问题
  • 翻译:How do I reset my FPGA?
  • 在Linux中,如何查询已安装软件包的版本信息?
  • 【电脑无法通过鼠标和键盘唤醒应该怎么办】
  • 9.1 GPTs 应用商店介绍:解锁定制化 AI 的无限潜能
  • 使用Swift Package Manager怎样区分debug和release打包环境
  • 从C语言看数据结构和算法:复杂度决定性能
  • Vue-Day1
  • <论文>用于大语言模型去偏的因果奖励机制
  • mybatis在mysql库中创建表实现案例
  • 【PHP】数组转换成json
  • ComfyUI实现老照片修复——AI修复老照片(ComfyUI-ReActor / ReSwapper)解决天坑问题及加速pip下载
  • LangChain + llamaFactory + Qwen2-7b-VL 构建本地RAG问答系统
  • 利用Python爬虫与1688 API接口:高效获取商品搜索数据
  • Docker 实现MySQL 主从复制
  • 搭建CANN开发+运行环境实验报告
  • SpringBoot篇 单元测试 理论篇
  • DRG/DIP 2.0时代下基于PostgreSQL的成本管理实践与探索(下)