想分享在 2.1.0 版本中清除或删除 kafka 主题的不同方法。我在这里发现了类似的问题Purge Kafka Topic但是,已接受的答案已被弃用,因此它适用于 Kafka 0.8 及以下版本,因此创建了这个带有答案的问题。
这不是一个重复的问题。
默认情况下,Kafka 将消息保留 168 小时,即 7 天。如果您想强制 kafka 清除主题,您可以通过多种方式执行此操作。让我们详细看看每一个。
1.使用kafka-configs.sh命令
暂时将保留策略更改为 1 秒。
kafka-configs.sh --zookeeper localhost:2181 --alter --entity-type topics --add-config retention.ms=1000 --entity-name text_topic
Run Code Online (Sandbox Code Playgroud)
您可以通过运行以下命令来检查保留策略的当前值。
kafka-configs.sh --zookeeper localhost:2181 --entity-type topics --describe --entity-name text_topic
Configs for topic 'text_topic' are retention.ms=1000
Run Code Online (Sandbox Code Playgroud)
等待 1 秒并删除保留策略配置,这会将其设置回默认值。
kafka-configs.sh --zookeeper localhost:2181 --alter --entity-type topics --delete-config retention.ms --entity-name text_topic
Run Code Online (Sandbox Code Playgroud)
2.删除topic重新创建
在我们删除现有主题之前,首先获取当前主题的分区和副本,因为您需要这些来重新创建主题。您可以通过运行该主题的描述来获取此信息
kafka-topics.sh --zookeeper localhost:2181 --describe --topic text_topic
Topic:text_topic PartitionCount:3 ReplicationFactor:3 Configs:
Topic: text_topic Partition: 0 Leader: 0 Replicas: 0 Isr: 0
Run Code Online (Sandbox Code Playgroud)
删除主题。
kafka-topics.sh --zookeeper localhost:2181 --delete --topic text_topic
Run Code Online (Sandbox Code Playgroud)
使用复制和分区详细信息重新创建主题。
kafka-topics.sh --create --zookeeper localhost:2181 --replication-factor 3 --partitions 3 --topic text_topic
Run Code Online (Sandbox Code Playgroud)
3.手动删除kafka日志中的数据。
希望这可以帮助 !!
| 归档时间: |
|
| 查看次数: |
4229 次 |
| 最近记录: |