Wie ändere ich mit Kafka 0.8.1.1 die Aufbewahrungszeit des Protokolls, während es läuft? Die documentation sagt der Eigenschaft ist , aber ich versuche, es zu ändern kafka-topics.sh
kehrt mit diesem FehlerÄndern der Kafka-Aufbewahrungsdauer während der Laufzeit
$ bin/kafka-topics.sh --zookeeper zk.yoursite.com --alter --topic as-access --config topic.log.retention.hours=24
Error while executing topic command requirement failed: Unknown configuration "topic.log.retention.hours".
java.lang.IllegalArgumentException: requirement failed: Unknown configuration "topic.log.retention.hours".
at scala.Predef$.require(Predef.scala:145)
at kafka.log.LogConfig$$anonfun$validateNames$1.apply(LogConfig.scala:138)
at kafka.log.LogConfig$$anonfun$validateNames$1.apply(LogConfig.scala:137)
at scala.collection.Iterator$class.foreach(Iterator.scala:631)
at scala.collection.JavaConversions$JEnumerationWrapper.foreach(JavaConversions.scala:479)
at kafka.log.LogConfig$.validateNames(LogConfig.scala:137)
at kafka.log.LogConfig$.validate(LogConfig.scala:145)
at kafka.admin.TopicCommand$.parseTopicConfigsToBeAdded(TopicCommand.scala:171)
at kafka.admin.TopicCommand$$anonfun$alterTopic$1.apply(TopicCommand.scala:95)
at kafka.admin.TopicCommand$$anonfun$alterTopic$1.apply(TopicCommand.scala:93)
at scala.collection.mutable.ResizableArray$class.foreach(ResizableArray.scala:57)
at scala.collection.mutable.ArrayBuffer.foreach(ArrayBuffer.scala:43)
at kafka.admin.TopicCommand$.alterTopic(TopicCommand.scala:93)
at kafka.admin.TopicCommand$.main(TopicCommand.scala:52)
at kafka.admin.TopicCommand.main(TopicCommand.scala)
Ich habe den obigen Befehl, aber es funktioniert nicht! Ich kann immer noch die alten Protokolle sehen. Irgendwelche Ideen bitte. – Jack
@Jack Retention ist eine Garantie auf minimale Zeitspanne, um Daten zu behalten. Wenn Sie ältere Protokolle sehen, die für mindestens das Minimum beibehalten werden. Es gibt andere Konfigurationsoptionen für ein Bereinigungsintervall und eine Aufbewahrungsgröße, die beim Löschen älterer Protokolle helfen können. – dlamblin
Eigentlich könnte diese Aufbewahrung nie funktionieren. Bei jedem Versuch, die Aufbewahrungsrichtlinie anzuwenden, werden die Protokolldateien möglicherweise verwendet, oder der Schreibdatenstrom wird geöffnet. Aus diesem Grund schlägt es immer fehl, und die Protokolldatei der Konsole/App meldet dies auch tatsächlich - überprüfen Sie dies unter https://issues.apache.org/jira/browse/KAFKA-1194 – ha9u63ar