如何使用 kafka-configs 查看和设置 offsets.retention.months

Sou*_*ian 6 apache-kafka

从文档来看,这是一个代理配置,但细节很少。

1)将其设置为不定的正确方法是什么?如果我这样做,我仍然可以手动删除消费者组及其关联的偏移量吗?

2)我可以将各个消费者群体设置为具有不同的保留率吗?

3) 如何查看全球或特定消费者群体的保留率?即使我之前没有设置过,我也可以查看并获取号码吗?

Gio*_*ous 4

1) Kafka 文档offsets.retention.minutes提到有效值为

[1,...]

这意味着您无法设置offsets.retention.minutes=-1,但可以将其设置为相当大的整数,以便长期保留偏移量。

2)我假设您是在问是否可以offsets.retention.minutes在主题级别设置不同的值;据我所知,这是不可能的。您只能在代理级别(即内部server.properties文件)修改此配置。

编辑: 恐怕您无法避免滚动重新启动,因为您无法offsets.retention.minutes使用kafka-configs.sh;进行更改。

> bin/kafka-configs.sh --zookeeper localhost:2181 --entity-type brokers --entity-name 0 --alter --add-config offsets.retention.minutes=200800

Error while executing config command requirement failed: Unknown Dynamic Configuration 'retention.minutes'.
java.lang.IllegalArgumentException: requirement failed: Unknown Dynamic Configuration 'retention.minutes'.
        at scala.Predef$.require(Predef.scala:224)
        at kafka.server.DynamicConfig$$anonfun$kafka$server$DynamicConfig$$validate$1.apply(DynamicConfig.scala:101)
        at kafka.server.DynamicConfig$$anonfun$kafka$server$DynamicConfig$$validate$1.apply(DynamicConfig.scala:100)
        at scala.collection.Iterator$class.foreach(Iterator.scala:893)
        at scala.collection.AbstractIterator.foreach(Iterator.scala:1336)
        at kafka.server.DynamicConfig$.kafka$server$DynamicConfig$$validate(DynamicConfig.scala:100)
        at kafka.server.DynamicConfig$Broker$.validate(DynamicConfig.scala:59)
        at kafka.admin.AdminUtils$.changeBrokerConfig(AdminUtils.scala:555)
        at kafka.admin.ConfigCommand$.alterConfig(ConfigCommand.scala:105)
        at kafka.admin.ConfigCommand$.main(ConfigCommand.scala:68)
        at kafka.admin.ConfigCommand.main(ConfigCommand.scala)
Run Code Online (Sandbox Code Playgroud)

server.properties3) 由于这是代理级别的配置,因此您可以查看文件中或代理日志文件中的值。例如,

 grep offsets.retention.minutes /path/to/your/kafka-broker.log
Run Code Online (Sandbox Code Playgroud)

请注意,即使您尚未配置offsets.retention.minutes,其值也默认为10080