I want to see the retention period set for a particular topic. Is there any command? I tried with
bin/kafka-topics.sh --zookeeper hostname:2181 --alter --con
Alternative ways:
docker run --rm -it confluentinc/cp-kafka:latest sh -c "kafka-topics --zookeeper 11.22.33.44:5555 --describe --topic topic-name"
Take into account that it would be displayed just params different from default values.
At the example above, the retention.ms is 14 days, when default one is 7 days.
If you have altered a topic and want to view the topic configuration the following command will be helpful
kafka-topics.sh --zookeeper localhost:2181 --describe --topics-with-overrides
This will describe only the topics along with configurations that have configurations set that differ from the cluster defaults.
If you want to view the configurations for all topic
Either you can view these properties log.retention.hours
or log.retention.ms
in server.properties
in kafka config directory.
Simply the below command will help
kafka-topics.sh --bootstrap-server server_ip:9092 --describe --topic topic_name
Along with other infos , it will print delete.retention.ms.
A sample output will be
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
See config 'log.retention.hours' in Kafka Doc:
The number of hours to keep a log file before deleting it (in hours), tertiary to log.retention.ms property
Default value is 168 hours which is 7 days.