繁体   English   中英

在 Kafka 配置中选择正确的清理策略

[英]Choosing the right cleanup policy in Kafka configuration

我正在使用 kafka_2.10-0.10.0.1。 我创建了 1 个分区的主题。 我知道默认的清理策略是“删除”。 我想一直保留主题中的所有记录(不删除任何记录)。 什么是正确的方法:使“log.cleaner.enable=false”或“log.cleanup.policy=compact”? 谢谢

主题具有代理范围的配置,默认情况下适用于没有配置的任何主题,但主题也可以具有覆盖或补充代理范围主题配置的特定于主题的配置。

代理范围的主题配置在您的service.properties文件中设置。 如果您使用的是 Java,则使用bin/kafka-topics.sh脚本或AdminClient设置特定于主题的配置。

与您相关的代理范围配置是log.retention.ms并且等效的特定于主题的配置是retention.ms 如果设置log.retention.ms-1 ,如果没有这个的所有主题retention.ms配置将具有无限的保留期。 同样,如果您为特定主题的retention.ms时间设置-1 ,它将具有无限保留期。

在新主题上设置retention.ms

bin/kafka-topics.sh --zookeeper zk_host:port/chroot --create --topic my_topic_name
  --partitions 20 --replication-factor 3 --config retention.ms=-1

您还可以修改现有主题以将retention.ms设置为-1

> bin/kafka-configs.sh --zookeeper zk_host:port/chroot --entity-type topics --entity-name my_topic_name --alter --add-config retention.ms=-1

在此处查看特定于主题的配置的完整列表: https : //kafka.apache.org/documentation/#topicconfigs以及有关主题操作​​的更多信息: https : //kafka.apache.org/documentation/#basic_ops

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM