将保留时间设置为1秒后,如何验证Kafka主题确实已被清除

时间:2018-04-10 17:45:20

标签: apache-kafka

我想在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

我怎么能确定该主题确实被清除了?

2 个答案:

答案 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

如果它没有返回任何输出,那么我们可以确定它已被清除。