企业🤖AI智能体构建引擎,智能编排和调试,一键部署,支持私有化部署方案 广告
在kafka当中, 每一个topic会有一个单独文件夹,这个文件夹存储在 {kafka_home}/config/server.properties中指定的`log.dirs`路径中。 <br/> 在topic下会为每一个分区生成一个单独的文件夹,将这二者合并命名`topicName-分区号`, 例如`topic1-0`。 <br/> 在每一个分区下又会有多个segment,,既然已经有多个分区了, 为什么要再进行划分为多个segment?因为: ①如果只存一个文件中, 文件会越来越大; ②Kafka中的数据默认存储7天、每一天都会删除7天前的数据、 如果都存在一个文件当中、会不好删。 1. 生成测试数据 ```shell [root@hadoop101 kafka]# cd logs/test-0 -- 生成测试数据 [root@hadoop101 test-0]# kafka-producer-perf-test.sh --topic test --num-records 500000 --record-size 1000 \ > --producer-props bootstrap.servers=hadoop101:9092 --throughput 1000000000 448145 records sent, 89629.0 records/sec (85.48 MB/sec), 339.6 ms avg latency, 535.0 max latency. 500000 records sent, 89365.504915 records/sec (85.23 MB/sec), 340.32 ms avg latency, 535.00 ms max latency, 309 ms 50th, 505 ms 95th, 526 ms 99th, 534 ms 99.9th. [root@hadoop101 test-0]# ls -lh total 1.6G -- 第一个segment -rw-r--r--. 1 root root 518K Jan 19 22:20 00000000000000000000.index -rw-r--r--. 1 root root 1.0G Jan 19 22:20 00000000000000000000.log -rw-r--r--. 1 root root 141K Jan 19 22:20 00000000000000000000.timeindex -- 第二个segment -rw-r--r--. 1 root root 10M Jan 19 22:20 00000000000001060144.index -rw-r--r--. 1 root root 425M Jan 19 22:20 00000000000001060144.log -rw-r--r--. 1 root root 10 Jan 19 22:20 00000000000001060144.snapshot -rw-r--r--. 1 root root 10M Jan 19 22:20 00000000000001060144.timeindex ``` 2. 查看index和log文件 ```shell -- 查看log文件 [root@hadoop101 test-0]# kafka-run-class.sh kafka.tools.DumpLogSegments --files 00000000000000000000.log --print-data-log baseOffset: 1060112 lastOffset: 1060127 baseSequence: -1 lastSequence: -1 producerId: -1 producerEpoch: -1 partitionLeaderEpoch: 0 isTransactional: false position: 1073694700 CreateTime: 1611066045108 isvalid: true size: 16205 magic: 2 compresscodec: NONE crc: 792895623 baseOffset: 1060128 lastOffset: 1060143 baseSequence: -1 lastSequence: -1 producerId: -1 producerEpoch: -1 partitionLeaderEpoch: 0 isTransactional: false position: 1073710905 CreateTime: 1611066045108 isvalid: true size: 16205 magic: 2 compresscodec: NONE crc: 792895623 -- 查看index文件 [root@hadoop101 test-0]# kafka-run-class.sh kafka.tools.DumpLogSegments --files 00000000000000000000.index --print-data-log offset: 1060064 position: 1073646085 offset: 1060080 position: 1073662290 offset: 1060096 position: 1073678495 offset: 1060112 position: 1073694700 offset: 1060128 position: 1073710905 ```