The purpose of Describe Kafka Topic is to know the leader for the topic, the broker instances acting as replicas for the topic, and the number of partitions of a Kafka Topic that has been created with.

For creating a Kafka Topic, refer Create a Topic in Kafka Cluster.

Describe Topic

Consider there are three broker instances running on a local machine and to know which kafka broker is doing what with a kafka topic(say my-topic), run the following command

$ bin/kafka-topics.sh --describe --zookeeper localhost:2181 --topic my-topic

Replace my-topic  with your topic name. And also, it is assumed that you are running kafka with default configuration (zookeeper running at 2181).

$ bin/kafka-topics.sh --describe --zookeeper localhost:2181 --topic my-topic
Topic:my-topic    PartitionCount:1 ReplicationFactor:3 Configs:
    Topic: my-topic    Partition: 0 Leader: 1 Replicas: 1,2,0 Isr: 1,2,0

The result explains that

Leader: 1 meaning broker instance 1 is responsible for all reads and writes for the given partition. Reads and Writes are done by Kafka Consumers and Kafka Producers respectively.

Replicas: 1,2,0 meaning broker instances 0, 1 and 2 are acting as nodes that replicate the log irrespective of one being a leader.

Isr: 1,2,0 meaning broker instances 1, 2 and 0 are in-sync replicas.

PartitionCount:1 and ReplicationFactor:3 are the details used while creating the topic.

Now Kafka Producers may send messages to the Kafka topic, my-topic and Kafka Consumers may subscribe to the Kafka Topic.

Conclusion

In this Apache Kafka Tutorial – Describe Kafka Topic, we have learnt to check Kafka Broker Instance that is acting as leader for a Kafka Topic, and the Broker Instances acting as replicas and in-sync replicas for the Kafka Topic.