[Kafka]Kafkaセグメント


カフカでは、セグメントとは何ですか?
プロデューサーから送信された各メッセージをカフカに格納します.しかし、情報はどこに保存されていますか?
基本的には、このトピックのパーティションに格納されます.
ログファイルが生成された場所を表示するには、kafkaの場所で設定フォルダのserver.properties内部のlogs.dir値を確認する必要があります.
対応するlogs.dirフォルダに入り、ls -lコマンドで検証します.
ディレクトリ構造には、複数のオフセットファイルと、トピック名で直接作成されたディレクトリがあります.
生成されたトピック名がtest-topicの場合、実際に表示される名前は少し異なります.
パーティション0に格納されている場合は、test-topic-0です.パーティション1に保存されている場合は、test-topic-1です.
このように表現されます.
次に、セグメントを表示するために直接作成されたトピック名+パーティション番号のディレクトリに入ります.
cd test-topic-0
xxd 00000000000000000000.log

00000000: 0000 0000 0000 0000 0000 003d 0000 0000  ...........=....
00000010: 0242 6526 4400 0000 0000 0000 0001 7ea7  .Be&D.........~.
00000020: dff2 3700 0001 7ea7 dff2 37ff ffff ffff  ..7...~...7.....
00000030: ffff ffff ffff ffff ff00 0000 0116 0000  ................
00000040: 0001 0a48 656c 6c6f 0000 0000 0000 0000  ...Hello........
00000050: 0100 0000 3a00 0000 0002 931f 6524 0000  ....:.......e$..
00000060: 0000 0000 0000 017e a7e0 0b93 0000 017e  .......~.......~
00000070: a7e0 0b93 ffff ffff ffff ffff ffff ffff  ................
00000080: ffff 0000 0001 1000 0000 0104 4f4b 0000  ............OK..
00000090: 0000 0000 0000 0200 0000 3900 0000 0002  ..........9.....
000000a0: 0876 76e4 0000 0000 0000 0000 017e a7e0  .vv..........~..
000000b0: 3bf3 0000 017e a7e0 3bf3 ffff ffff ffff  ;....~..;.......
000000c0: ffff ffff ffff ffff 0000 0001 0e00 0000  ................
000000d0: 0102 5400 0000 0000 0000 0003 0000 0039  ..T............9
000000e0: 0000 0000 0282 bc30 ab00 0000 0000 0000  .......0........
000000f0: 0001 7ea7 e111 f400 0001 7ea7 e111 f4ff  ..~.......~.....
00000100: ffff ffff ffff ffff ffff ffff ff00 0000  ................
00000110: 010e 0000 0001 023f 00                   .......?.
上の命令を入力すると、プロデューサーから軍隊が送られてきた.
このとき、00000000000000000000.logのファイルをセグメントと呼びます.
実際には、ローカルディスクに格納されているログファイルをセグメントと呼びます.