我有一个kafka的用例,其中我不需要服务器上运行的一些主题的日志,一些主题发送很多消息,而另一些则不太需要。目前,我看到的唯一“修复”是设置一个相当宽松的保留策略。问题是,我想保留服务器上其他一些主题的日志和持久性信息,这些主题对我来说可能更重要。我有什么选择?理想情况下,我希望按主题丢弃日志和存储的消息。
6ioyuze21#
可以按主题设置保留设置。您可以在创建时这样做,也可以在创建后更改主题配置。你可以在Kafka的网站上找到主题配置的完整列表。对于不需要保留数据的主题,请设置将频繁删除数据的保留限制。另一方面,对于需要保留数据的主题,请设置保留限制,以便将数据保留更长的时间。例如,要在创建主题时设置主题配置(保留时间=24小时):
kafka-topics.sh --zookeeper <ZK> --create --topic --partitions 1 --replication-factor 1 --config retention.ms=86400000
要更新现有主题:
kafka-configs.sh --zookeeper <ZK> --entity-type topics --entity-name <TOPIC> --alter --add-config retention.ms=86400000
zbwhf8kr2#
可以设置每个主题的保留策略。下面是一个使用 kafka-topics :
kafka-topics
kafka-topics.sh --zookeeper localhost:2181 \ --alter \ --topic MyTopic \ --config retention.ms=1000
2条答案
按热度按时间6ioyuze21#
可以按主题设置保留设置。您可以在创建时这样做,也可以在创建后更改主题配置。你可以在Kafka的网站上找到主题配置的完整列表。
对于不需要保留数据的主题,请设置将频繁删除数据的保留限制。
另一方面,对于需要保留数据的主题,请设置保留限制,以便将数据保留更长的时间。
例如,要在创建主题时设置主题配置(保留时间=24小时):
要更新现有主题:
zbwhf8kr2#
可以设置每个主题的保留策略。
下面是一个使用
kafka-topics
: