kafka文件存储机制

浩客2年前技术文章477


Topic 数据的存储机制

      Topic是逻辑上的概念,而partition是物理上的概念,每个partition对应于一个log文件,该log文件中存储的就是Producer生产的数据。Producer生产的数据会被不断追加到该log文件末端,为防止log文件过大导致数据定位效率低下,Kafka采取了分片索引机制,

      将每个partition分为多个segment每个segment包括:“.index”文件、“.log”文件和.timeindex等文件。这些文件位于一个文件夹下,该文件夹的命名规则为:topic名称+分区序号。

1. 一个topic通过设置可分为多个partition,下图的名称为words的topic,分区数为3,分别为words-0、words-1、words-2。

111111111111111.PNG


2. 一个partition分为多个segment,在配置文件中可通过log.segment.bytes参数设置每个segment的大小,当一个segment大小达到log.segment.bytes所设值就会再产生一个segment,一个segment包含以下几个文件:

image.png


3.通过工具查看 index 和 log 信息

kafka-run-class.sh kafka.tools.DumpLogSegments --files ./00000000000000000000.index

kafka-run-class.sh kafka.tools.DumpLogSegments --files ./00000000000000000000.log


相关文章

kafka日志数据清理策略

kafka日志数据清理策略

1.关于Kafka的日志在Kafka中,日志分为两种:1、数据日志是指Kafka的topic中存储的数据,这种日志的路径是$KAFKA_HOME/config/server.properties文件中...

查看 Redis 不过期 key

查看 Redis 不过期 key

一、使用 Rdbtools 工具包使用 Rdbtools 工具包通过分析备份 rdb 文件,可以查看期间大 key 情况及过期时间情况。输出 csv 文档列信息情况详见下方附件--安装 rdb 工具包...

MySQL 小版本升级

MySQL 小版本升级

MySQL 版本一般不需要经常升级,如果需要使用某个新特性或者修改 BUG 就不得不升级小版本。1. 环境调研当前数据库版本和需要升级到某个版本,如果升级需求 5.6.22+ 那么我们直接下载 5.6...

开源大数据集群部署(六)Keytab文件生成

开源大数据集群部署(六)Keytab文件生成

1、 创建keytab文件除了使用明文密码登录之外,Kerberos还可以使用keytab密码文件登陆,现在为testcuser创建它的keytab文件ipa-getkeytab -s ipa.hdp...

MySQL运维实战(2)MySQL用户和权限管理

MySQL用户管理基本命令创建用户使用create user命令创建用户create user 'username'@'host' ide...

chronyc时间同步器配置

chronyc时间同步器配置

chronyc & chronydchrony 有两个核心组件:chronyd守护进程,主要用于调整内核中运行的系统时间和时间服务器同步chronyc命令行界面程序,让用户能够对 chrony...

发表评论    

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。