如何查看kafka中特定主题的保留情况

时间:2016-12-14 05:59:42

标签: apache-kafka

我想查看为特定主题设置的保留期限。 有命令吗? 我尝试使用bin/kafka-topics.sh --zookeeper hostname:2181 --alter --config retention.ms=172800000 --topic <topic_name>删除2天的数据。

但我希望看到所有主题的保留期限设置了多少天。

4 个答案:

答案 0 :(得分:29)

如果您更改了主题并希望查看主题配置,则以下命令将有所帮助

  

kafka-topics.sh --zookeeper localhost:2181 - 描述   --topics与 - 重写

这将仅描述主题以及配置设置与群集默认值不同的配置。

如果要查看所有主题的配置 您可以在kafka config目录中的server.properties中查看这些属性 log.retention.hours log.retention.ms

答案 1 :(得分:11)

请参阅Kafka Doc中的config'log.retention.hours':

  

在删除之前保留日志文件的小时数(以小时为单位),第三级为log.retention.ms属性

默认值为168小时,即7天。

答案 2 :(得分:1)

只需以下命令即可帮助

kafka-topics.sh --bootstrap-server server_ip:9092 --describe --topic topic_name

连同其他信息一起,它将打印delete.retention.ms。

示例输出为

主题:主题名称分区数:6复制因子:1配置:compression.type = gzip,segment.bytes = 1073741824,retention.ms = 100,max.message.bytes = 100001200,delete.retention.ms = 100000

Topic: TOPIC NAME   Partition: 0    Leader: 2   Replicas: 2 Isr: 2
Topic: TOPIC NAME   Partition: 1    Leader: 3   Replicas: 3 Isr: 3
Topic: TOPIC NAME   Partition: 2    Leader: 1   Replicas: 1 Isr: 1
Topic: TOPIC NAME   Partition: 3    Leader: 2   Replicas: 2 Isr: 2
Topic: TOPIC NAME   Partition: 4    Leader: 3   Replicas: 3 Isr: 3
Topic:  TOPIC NAME  Partition: 5    Leader: 1   Replicas: 1 Isr: 1

答案 3 :(得分:0)

替代方式:

  1. 通过容器使用call sh-command
docker run --rm -it confluentinc/cp-kafka:latest sh -c "kafka-topics --zookeeper 11.22.33.44:5555 --describe --topic topic-name"
  1. 使用Kafka Tool