我希望有一个主主题(与日志保留7天)和几个较小的主题与一个较小的日志保留(2天)过滤语料库。这可能吗?注意:我使用的是kafka v0.10.1.1。
v6ylcynt1#
log.retention.hours是代理的属性,在创建主题时用作默认值。使用kafka-topics.sh更改当前正在运行的主题的配置时,应指定主题级属性。日志保留时间的主题级属性是retention.ms。从kafka 0.10.1文档中的主题级配置:属性:retention.ms默认值:7天服务器默认属性:log.retention.minutes描述:如果使用“删除”保留策略,此配置控制在丢弃旧日志段以释放空间之前保留日志的最长时间。这表示消费者必须多久读取数据的sla。所以正确的命令是 $ bin/kafka-topics.sh --zookeeper localhost:2181 --alter --topic as-access --config retention.ms=172800000 您可以使用以下命令检查配置是否正确应用。 $ bin/kafka-topics.sh --describe --zookeeper localhost:2181 --topic as-access 然后你会看到下面这样的东西。 Topic:as-access PartitionCount:3 ReplicationFactor:3 Configs:retention.ms=172800000
$ bin/kafka-topics.sh --zookeeper localhost:2181 --alter --topic as-access --config retention.ms=172800000
$ bin/kafka-topics.sh --describe --zookeeper localhost:2181 --topic as-access
Topic:as-access PartitionCount:3 ReplicationFactor:3 Configs:retention.ms=172800000
zzwlnbp82#
log.retention.ms ,其默认值为7天,对于所有主题都是全局级别的,而您可以使用主题级别的配置覆盖它 retention.ms 创建以下主题时:
log.retention.ms
retention.ms
bin/kafka-topics.sh --create --zookeeper localhost:2181 --topic test --partitions 1 --replication-factor 1 --config retention.ms=172800000
2条答案
按热度按时间v6ylcynt1#
log.retention.hours是代理的属性,在创建主题时用作默认值。使用kafka-topics.sh更改当前正在运行的主题的配置时,应指定主题级属性。
日志保留时间的主题级属性是retention.ms。
从kafka 0.10.1文档中的主题级配置:
属性:retention.ms默认值:7天服务器默认属性:log.retention.minutes描述:如果使用“删除”保留策略,此配置控制在丢弃旧日志段以释放空间之前保留日志的最长时间。这表示消费者必须多久读取数据的sla。所以正确的命令是
$ bin/kafka-topics.sh --zookeeper localhost:2181 --alter --topic as-access --config retention.ms=172800000
您可以使用以下命令检查配置是否正确应用。$ bin/kafka-topics.sh --describe --zookeeper localhost:2181 --topic as-access
然后你会看到下面这样的东西。Topic:as-access PartitionCount:3 ReplicationFactor:3 Configs:retention.ms=172800000
zzwlnbp82#
log.retention.ms
,其默认值为7天,对于所有主题都是全局级别的,而您可以使用主题级别的配置覆盖它retention.ms
创建以下主题时: