我想在Kafka中清除一个主题。所以我使用
将保留时间设置为1秒/opt/kafka/bin/kafka-configs.sh --zookeeper zk.com --entity-type topics --entity-name my_topic --alter --add-config retention.ms=1000
log.retention.check.interval.ms=300000
,即5分钟,所以我等待7分钟然后重置上述保留值
/opt/kafka/bin/kafka-configs.sh --zookeeper zk.com --entity-type topics --entity-name my_topic --alter --delete-config retention.ms
我怎么能确定该主题确实被清除了?
答案 0 :(得分:1)
另一种方法是使用GetOffsetShell
工具。获取主题运行中每个分区的起始偏移量
bin/kafka-run-class.sh kafka.tools.GetOffsetShell -broker-list localhost:9092 --topic <topic> --time -2
并获得结束抵消运行
bin/kafka-run-class.sh kafka.tools.GetOffsetShell -broker-list localhost:9092 --topic <topic> --time -1
如果报告的偏移量相等,则清除主题。
答案 1 :(得分:0)
我相信确定知道该主题确实被清除的方法之一是使用选项--from-beginning
来阅读它。例如
/opt/kafka/bin/kafka-console-consumer.sh --bootstrap-server broker.com:9093 --topic my_topic --from-beginning
如果它没有返回任何输出,那么我们可以确定它已被清除。