这里写木目录标题
-
- [一、Topic 数据的存储机制](#一、Topic 数据的存储机制)
-
- [1.1、Topic 数据的存储机制的概述](#1.1、Topic 数据的存储机制的概述)
- [1.2、Topic 数据的存储机制的图解](#1.2、Topic 数据的存储机制的图解)
- [1.3、Topic 数据的存储机制的文件解释](#1.3、Topic 数据的存储机制的文件解释)
- 二、Topic数据的存储位置示例
一、Topic 数据的存储机制
1.1、Topic 数据的存储机制的概述
- Topic是逻辑上的概念,而partition是物理上的概念。
- 每个partition对应于一个log文件,该log文件中存储的就是Producer生产的数据。
- Producer生产的数据会被不断追加到该log文件末端,为防止log文件过大导致数据定位效率低下,Kafka采取了 分片和 索引机制。将每个partition分为多个segment。
- 每个segment包括:".index"文件、".log"文件和.timeindex等文件。这些文件位于一个文件夹下,该文件夹的命名规则为:topic名称+分区序号,例如:news-0。
1.2、Topic 数据的存储机制的图解
1.3、Topic 数据的存储机制的文件解释
-
Topic 数据的存储机制的文件解释
文件格式 解释 .log 日志文件 .index 偏移量索引文件 .timeindex 时间戳索引文件 其他文件
二、Topic数据的存储位置示例
-
启动生产者,并发送消息。
javabin/kafka-console-producer.sh --bootstrap-server 192.168.136.27:9092 --topic threetopic
-
查看四台服务器的/opt/module/kafka/datas/threetopic-0(threetopic-1、threetopic-2、threetopic-3)路径上的文件。
-
通过工具查看 index和 log信息。
javakafka-run-class.sh kafka.tools.DumpLogSegments --files 00000000000000000000.log