2016-09-27 3 views
4

ログメッセージをカフカトピックに書き込んでいますが、このトピックの保持を恒久的にしたいと考えています。私はKafkaとKafka Connect(_schemas、connect-configs、connect-status、connect-offsetsなど)でログ保持時間によって削除されない特別なトピックがあることを確認しました。トピックをこれらの他の特別なトピックのように強制するにはどうすればよいですか?それは命名規則か他のいくつかの特性ですか?カフカのトピックログ保存期間を永久にする

おかげ

答えて

2

これらの特別なトピックは、圧縮されたトピックです。これは、それらがキー付きメッセージで構成され、リストの最近のキーのみを保持することを意味します。フル書込みhere。ほとんどの場合、これはおそらく無制限の保持時間に必要なものです。

6

あなたは永遠にすべてのトピックを保持したい場合は、-1にとlog.retention.bytesの両方を設定することができます。

+0

2015年4月より前に、これを行う方法は 'log.retention.hours'を' 2147483647'に設定するように見えました。その後、[JIRA](https://issues.apache.org/jira/browse/KAFKA-1990)が-1機能を追加しました。しかし、JIRAは、どのような価値が「永遠に留まる」と解釈されているかを明確に述べていませんでした。私はコードをちょっと掘りました。実際、それは[-1]です(https://github.com/apache/kafka/blob/0.11.0.2/core/src/main/scala/kafka/server/KafkaConfig.scala# L1165)。 [時間、分、またはms]に-1を設定することもできます(https://github.com/apache/kafka/blob/0.11.0.2/core/src/main/scala/kafka/server/KafkaConfig.scala#L1078)。 -L1090) –

関連する問題