如果您想删除所有消息,另一种方法是将主题的保留率降低到一个小值(例如100ms)。等待代理从主题中删除所有记录,然后将主题保留设置为其原始值。下面是如何做到这一点。
首先,将保留时间设置为100毫秒。
kafka-configs --zookeeper localhost:2181 \
--entity-type topics \
--entity-name my-topic \
--alter --add-config retention.ms=100
替代解决方案:
删除一个主题并再次创建它不像前两种方法那样优雅,但在某些情况下(例如,如果主题创建是脚本化的),它可能是一个更容易的解决方案。
kafka-topics --bootstrap-server localhost:9092 \
--topic my-topic \
--delete
然后再创建一次:
kafka-topics --bootstrap-server localhost:9092 \
--topic my-topic \
--create \
--partitions <number_of_partitions> \
--replication-factor <replication_factor>