46

我想查看为特定主题设置的保留期。有什么命令吗?我试过了

bin/kafka-topics.sh --zookeeper hostname:2181 --alter --config retention.ms=172800000 --topic <topic_name>

用于删除 2 天前的数据。但是我想看看所有主题的保留期设置了多少天。

4

4 回答 4

62

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

kafka-topics.sh --zookeeper localhost:2181 --describe --topics-with-overrides

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

如果要查看所有主题的配置,您可以查看这些属性log.retention.hourslog.retention.msserver.propertieskafka 配置目录中。

于 2017-02-22T18:32:45.403 回答
15

请参阅Kafka Doc中的配置“log.retention.hours” :

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

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

于 2016-12-14T06:32:27.577 回答
2

替代方式:

  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. 使用卡夫卡工具

在此处输入图像描述


考虑到它将仅显示与默认值不同的参数。

在上面的示例中,retention.ms14 days,而默认值为7 days

于 2019-03-11T20:50:03.893 回答
1

只需以下命令将有所帮助

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

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

样本输出将是

Topic:TOPIC NAME PartitionCount:6 ReplicationFactor:1 Configs: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
于 2019-09-24T13:56:41.927 回答