gpt4 book ai didi

apache-kafka - 在运行时更改 kafka 保留期

转载 作者:行者123 更新时间:2023-12-03 01:19:30 27 4
gpt4 key购买 nike

对于 Kafka 0.8.1.1,如何在运行时更改日志保留时间? documentation说该属性是 log.retention.hours,但尝试使用 kafka-topics.sh 更改它会返回此错误

$ 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)

最佳答案

log.retention.hours 是代理的一个属性,在创建主题时用作默认值。当您使用kafka-topics.sh更改当前正在运行的主题的配置时,您应该指定一个主题级属性。

日志保留时间的主题级属性是 retention.ms

来自Topic-level configuration在 Kafka 0.8.1 文档中:

  • 属性:retention.ms
  • 默认:7 天
  • 服务器默认属性:log.retention.months
  • 说明:此配置控制在我们使用“删除”保留策略时丢弃旧日志段以释放空间之前保留日志的最长时间。这代表了关于消费者必须多快读取其数据的 SLA。

因此,正确的命令取决于版本。至0.8.2 (尽管文档仍然显示其在 0.10.1 之前的使用)使用 kafka-topics.sh --alter 以及 0.10.2 之后(或者可能从 0.9.0 开始)使用 kafka-configs.sh --alter

$ bin/kafka-topics.sh --zookeeper zk.yoursite.com --alter --topic as-access --config retention.ms=86400000

您可以使用以下命令检查配置是否正确应用。

$ bin/kafka-topics.sh --describe --zookeeper zk.yoursite.com --topic as-access

然后你会看到类似下面的内容。

Topic:as-access  PartitionCount:3  ReplicationFactor:3  Configs:retention.ms=86400000

关于apache-kafka - 在运行时更改 kafka 保留期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29129222/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com