从文档中看,这是一个代理配置,但细节很薄。
1)将其设置为不确定的正确方法是什么?如果这样做,我仍然能够手动删除使用者组及其关联的偏移量吗?
2)我可以将单个消费者组设置为具有不同的保留率吗?
3)如何查看全局或特定消费者群体的保留率?即使我之前没有设置此设置,我也可以查看并获取电话号码吗?
答案 0 :(得分:2)
1)Kafka Docs提到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)
3)由于这是代理级别的配置,因此您可以在server.properties
文件中或从代理的日志文件中查看值。例如,
grep offsets.retention.minutes /path/to/your/kafka-broker.log
请注意,即使您尚未配置offsets.retention.minutes
,其值也会默认为10080
。