美文网首页大数据学习
kafka学习(5) 日志存储

kafka学习(5) 日志存储

作者: xiaogp | 来源:发表于2020-07-03 09:30 被阅读0次

文件目录布局

如果分区规则设置的合理, 所有消息可以均匀分布到不同的分区中, 如果不考虑多副本, 一个分区对应一个日志, 为了防止日志过大, kafka引入了日志分段(logSegment), 将Log切分为多个LogSegment, 每个LogSegment对应于磁盘上的一个日志文件和两个索引文件, 已经可能的其他文件, Log和LogSegment的关系如下


日志关系.png

Log对应一个命名形式为<topic>-<partition>的文件夹, 如果主题是test_gp,有4个分区, 那么物理存储表现为test_gp-0, test_gp-1, test_gp-2, test_gp-3三个Log文件夹.
向Log中追加消息是顺序写入的, 只有最后一个LogSegment执行写入操作, 在此之前的所有的LogSegment不能再写入数据了, 将最后一个LogSegment称为activeSegment, 表示活跃的日志分段, 随着消息的不断写入, 当activeSegment满足一定条件时需要创建新的activeSegment, 之后追加的消息写入新的activeSegment.
为了便于信息检索,每个.log日志文件都有两个索引文件, 分别是偏移量索引文件.index和时间戳索引文件.timeindex, 每个LogSegment都有一个基准便宜量baseOffset, 用来表示当前LogSegment中第一条消息的offset. 偏移量是一个64位的长整型数, 日志文件和两个索引文件都是以基准偏移量进行命名的, 名称固定为20为数字, 没有达到的位数用0填充, 例如test_gp-2目录下

-rw-r--r-- 1 kafka kafka 10M 7月   3 11:08 00000000000000000000.index
-rw-r--r-- 1 kafka kafka 12K 7月   3 11:11 00000000000000000000.log
-rw-r--r-- 1 kafka kafka 10M 7月   3 11:08 00000000000000000000.timeindex
-rw-r--r-- 1 kafka kafka 10M 7月   4 11:08 00000000000000000133.index
-rw-r--r-- 1 kafka kafka 12K 7月   4 11:11 00000000000000000133.log
-rw-r--r-- 1 kafka kafka 10M 7月   4 11:08 00000000000000000133.timeindex
-rw-r--r-- 1 kafka kafka   8 7月   2 19:25 leader-epoch-checkpoint

一共有2个LogSegment, 第二个LogSegment的基准偏移量是133, 说明他的第一条消息偏移量是133, 同时反引出第一个LogSegment共有133条消息(偏移量从0-132的消息)
消费者提交的位移是保存在kafka内部主题__consumer_offsets中的, 当第一次有消费信息时就会自动创建主题

相关文章

  • kafka学习(5) 日志存储

    文件目录布局 如果分区规则设置的合理, 所有消息可以均匀分布到不同的分区中, 如果不考虑多副本, 一个分区对应一个...

  • Kafka 日志存储

    Kafka 中的底层存储设计 Segment 是kafka文件存储的最小单位 日志存放目录 kafka_2.10...

  • Kafka 日志存储、清理规则、消息大小估算

    kafka的日志: kafka消息存储在kafka集群中(分parition存储,每个partition对应一个目...

  • kafka存储结构以及Log清理机制

    本文主要聚焦 kafka 的日志存储以及日志清理相关。 日志存储结构 首先我们来看一张 kafak 的存储结构图。...

  • Kafka高级特性解析(三)

    Kafka高级特性解析(三) 物理存储 日志存储概述 Kafka 消息是以主题为单位进行归类,各个主题之间是彼此独...

  • Kafka 日志存储

    在进行详解之前,我想先声明一下,本次我们进行讲解说明的是 Kafka 消息存储的信息文件内容,不是所谓的 Kafk...

  • Kafka 日志存储

    在进行详解之前,我想先声明一下,本次我们进行讲解说明的是 Kafka 消息存储的信息文件内容,不是所谓的 Kafk...

  • Kafka专题:4.kafka存储层

    kafka的存储层主要包含 分区,副本,日志,日志分段这些概念,以问答的形式来描述 1.为什么kafka的每一个主...

  • kafka应用之路

    1、在技术选型上,为什么要使用kafka,不使用rocketmq? kafka是分布式日志存储系统. 1)kaf...

  • kafka和flume的区别与

    (1)kafka和flume都是日志系统。kafka是分布式消息中间件,自带存储,提供push和pull存取数据功...

网友评论

    本文标题:kafka学习(5) 日志存储

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