# 分區(qū)目錄文件, Partition 命名規(guī)則為:【topic 名稱】+【從 0 開始的有序序號(hào)】
drwxr-x--- 2 root root 4096 Jul 26 19:35 kafka-topic-01-0
drwxr-x--- 2 root root 4096 Jul 24 20:15 kafka-topic-01-1
drwxr-x--- 2 root root 4096 Jul 24 20:15 kafka-topic-01-2
# 分區(qū)目錄中的日志數(shù)據(jù)文件和日志索引文件
-rw-r----- 1 root root 512K Jul 24 19:51 00000000000000000000.index
-rw-r----- 1 root root 1.0G Jul 24 19:51 00000000000000000000.log
-rw-r----- 1 root root 768K Jul 24 19:51 00000000000000000000.timeindex
-rw-r----- 1 root root 512K Jul 24 20:03 00000000000022372103.index
-rw-r----- 1 root root 1.0G Jul 24 20:03 00000000000022372103.log
-rw-r----- 1 root root 768K Jul 24 20:03 00000000000022372103.timeindex
-rw-r----- 1 root root 512K Jul 24 20:15 00000000000044744987.index
-rw-r----- 1 root root 1.0G Jul 24 20:15 00000000000044744987.log
-rw-r----- 1 root root 767K Jul 24 20:15 00000000000044744987.timeindex
-rw-r----- 1 root root 10M Jul 24 20:21 00000000000067117761.index
-rw-r----- 1 root root 511M Jul 24 20:21 00000000000067117761.log
-rw-r----- 1 root root 10M Jul 24 20:21 00000000000067117761.timeindex
如何根據(jù)Offset來查找一條消息: 根據(jù)指定的偏移量,使用二分法查詢定位出該偏移量對(duì)應(yīng)的消息所在的分段索引文件和日志數(shù)據(jù)文件。然后通過二分查找法,繼續(xù)查找出小于等于指定偏移量的最大偏移量,同時(shí)也得出了對(duì)應(yīng)的Position(實(shí)際物理位置),根據(jù)該物理位置在分段的日志數(shù)據(jù)文件中順序掃描查找偏移量與指定偏移量相等的消息。下面是Kafka中分段的日志數(shù)據(jù)文件和偏移量索引文件的對(duì)應(yīng)映射關(guān)系圖(其中也說明了如何按照起始偏移量來定位到日志數(shù)據(jù)文件中的具體消息)
更多關(guān)于大數(shù)據(jù)培訓(xùn)的問題,歡迎咨詢千鋒教育在線名師。千鋒教育擁有多年IT培訓(xùn)服務(wù)經(jīng)驗(yàn),采用全程面授高品質(zhì)、高體驗(yàn)培養(yǎng)模式,擁有國內(nèi)一體化教學(xué)管理及學(xué)員服務(wù),助力更多學(xué)員實(shí)現(xiàn)高薪夢(mèng)想。