美文网首页
Kafka文件存储机制

Kafka文件存储机制

作者: CodeYang | 来源:发表于2021-12-29 09:55 被阅读0次

    笔记来源于尚硅谷视频课程

    在server.properties文件中配置了log.dir属性,该目录存储日志文件

    log.dirs=/usr/local/kafka/kafka_2.13/logs
    

    在生产者创建主题时,会在该目录下创建 “topic名称”+“-”+“分区号” 拼接的目录,该目录存储的是消息数据。

    例如,主题名为 t01,对应会创建 t01-0,t01-1目录

    image.png image.png
     由于生产者生产的消息会不断追加到 log 文件末尾,为防止 log 文件过大导致数据定位
    

    效率低下,Kafka 采取了分片索引机制,将每个 partition 分为多个 segment。每个 segment

    对应两个文件——“.index”文件和“.log”文件。这些文件位于一个文件夹下,该文件夹的命名

    规则为:topic 名称+分区序号。例如,first 这个 topic 有三个分区,则其对应的文件夹为 first-

    0,first-1,first-2。

    00000000000000000000.index
    00000000000000000000.log
    00000000000000170410.index
    00000000000000170410.log
    00000000000000239430.index
    00000000000000239430.log
    

    index 和 log 文件以当前 segment 的第一条消息的 offset 命名。下图为 index 文件和 log

    文件的结构示意图

    image.png

    index文件用于存储索引、log文件用于存储消息,索引文件中的元数据指向对应数据文件中 message 的物理偏移地址。

    相关文章

      网友评论

          本文标题:Kafka文件存储机制

          本文链接:https://www.haomeiwen.com/subject/rjkvqrtx.html