文件存储机制

20220413164551.png

index 文件和 log 文件详解

==注意==:

  • index为稀疏索引,大约每往log文件中写入4kb数据,会往index文件中写入一条索引。(参数 log.index.interval.bytes默认4kb)
  • Index文件中保存的offset为相对offset,这样能够确保offset的值所占的空间不会过大,因此能将offset的值控制在固定大小。

使用工具查看index和log内容

[root@VM-4-10-centos bin]# sh kafka-run-class.sh kafka.tools.DumpLogSegments --files xx/000000000000000.index

查找指定offset的数据

  1. 根据目标offset定位Segment
  2. 找到小于等于目标offset的最大offset对应的索引项
  3. 定位到log文件
  4. 向下遍历下找到目标