15

Kafka 0.8.1.1 の server.properties ファイルに変更を加えました。つまり、トピックの作成中に追加log.cleaner.enable=trueして有効にしました。cleanup.policy=compact今テストしているとき、次のメッセージをトピックに次の(キー、メッセージ)でプッシュしました。

  • オフセット: 1 - (123、abc);
  • オフセット: 2 - (234、デフォルト);
  • オフセット: 3 - (345, ghi);
  • オフセット: 4 - (123、変更)

ここで、前の入力と同じキーで 4 番目のメッセージをプッシュしましたが、メッセージを変更しました。ここで、ログの圧縮が明らかになるはずです。Kafka ツールを使用すると、トピック内の 4 つのオフセットすべてを確認できます。ログの圧縮が機能しているかどうかを知るにはどうすればよいですか? 以前のメッセージを削除する必要があります。または、新しいメッセージがプッシュされているため、ログの圧縮が正常に機能しています。log.retention.hoursまたはtopic.log.retention.hoursまたはlog.retention.size構成と何か関係がありますか? ログの圧縮におけるこれらの構成の役割は何ですか。PS - Apache ドキュメントを徹底的に調べましたが、まだ明確ではありません。

4

5 に答える 5

4

実際には、ログの圧縮は、ログの数が 100 万などの非常に高い数に達した場合にのみ表示されます。ですから、それだけのデータがあれば、それで問題ありません。それ以外の場合は、構成の変更を使用して、この制限を 100 メッセージに減らすことができます。その後、同じキーを持つメッセージのうち、最新のメッセージのみが存在し、前のメッセージは削除されることがわかります。毎回データの完全なスナップショットがある場合は、ログの圧縮を使用することをお勧めします。そうしないと、同じ関連キーを持つ以前のログが失われる可能性があるため、便利な場合があります。

于 2016-03-09T13:07:49.747 に答える