私はそれぞれに割り当てられた48GBのディスクを持つ2ノードカフカクラスターを持っています。 server.properties
は、ログを最大48時間まで、またはログセグメントを最大1GBまで保持するように設定されています。ここにあります:なぜカフカはデータを削除しないのですか?
log.retention.hours=48
log.retention.bytes=1073741824
log.segment.bytes=1073741824
私はトピックに対して30パートタイトを持っています。これらのパーティションのディスク使用状況は次のとおりです。
-rw-r--r-- 1 root root 1.9M Apr 14 00:06 00000000000000000000.index
-rw-r--r-- 1 root root 1.0G Apr 14 00:06 00000000000000000000.log
-rw-r--r-- 1 root root 0 Apr 14 00:06 00000000000000000000.timeindex
-rw-r--r-- 1 root root 10M Apr 14 12:43 00000000000001486744.index
-rw-r--r-- 1 root root 73M Apr 14 12:43 00000000000001486744.log
-rw-r--r-- 1 root root 10M Apr 14 00:06 00000000000001486744.timeindex
明らかにわかるように、ログセグメントは1GBです。しかし、私の理解によると、それはすでに削除されているはずです。また、これらのログがKafkaによって展開されてから48時間以上も経っています。思考?
古いログセグメントを手動で削除してから、サーバーを再起動しても問題ありませんか?我々のディスクはほぼ80%です。壊滅的なエラーに遭遇したくない。 – Ankush92
個人的には、カフカはセグメントファイルやインデックスなどのログファイルを削除してサーバーを再起動するとサーバーのメタデータを更新することができますが、包括的なテストを強くお勧めします。 – amethystic
確かに。私はカフカが私が手動でやってほしいと言ったことと同じことをすると思います。しかし、生産においてそのようなことを行うことはかなり大胆であろう。 – Ankush92