Skip to content

Instantly share code, notes, and snippets.

@Om4ar
Forked from ursuad/kafka-cheat-sheet.md
Last active September 13, 2020 18:12
Show Gist options
  • Save Om4ar/7e45d03c21ee67ecbfae4ec3b288968b to your computer and use it in GitHub Desktop.
Save Om4ar/7e45d03c21ee67ecbfae4ec3b288968b to your computer and use it in GitHub Desktop.
Quick command reference for Apache Kafka

Kafka Topics

Describe a topic

kafka-topics --zookeeper localhost:2181 --describe --topic TOPIC_NAME

list topic offsets

sudo docker run --net=host --rm confluentinc/cp-kafka:4.1.2-2 kafka-consumer-groups --bootstrap-server localhost:9092 --describe --group GROUP_NAME

Get Members

sudo docker run --net=host --rm confluentinc/cp-kafka:4.1.2-2 kafka-consumer-groups --describe --members --group GROUP_NAME --bootstrap-server localhost:9092

reset offsets:

sudo docker run --net=host --rm confluentinc/cp-kafka:4.1.2-2 kafka-consumer-groups --bootstrap-server localhost:9092 --group GROUP_NAME_HERE --reset-offsets --to-latest --execute --topic TOPIC_NAME_HERE

Produce to a topic

kafka-console-producer.sh --broker-list kafka-staging:9092 --topic TOPIC_NAME

List existing topics

bin/kafka-topics.sh --zookeeper localhost:2181 --list

Describe a topic

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

Purge a topic

bin/kafka-topics.sh --zookeeper localhost:2181 --alter --topic mytopic --config retention.ms=1000

... wait a minute ...

bin/kafka-topics.sh --zookeeper localhost:2181 --alter --topic mytopic --delete-config retention.ms

Delete a topic

bin/kafka-topics.sh --zookeeper localhost:2181 --delete --topic mytopic

Update a topic Configuration

kafka-topics --zookeeper svc.local:2181 --alter --topic TOPIC_NAME_HERE --partitions 5 --replication-factor 1

Get number of messages in a topic ???

bin/kafka-run-class.sh kafka.tools.GetOffsetShell --broker-list localhost:9092 --topic mytopic --time -1 --offsets 1 | awk -F ":" '{sum += $3} END {print sum}'

Get the earliest offset still in a topic

bin/kafka-run-class.sh kafka.tools.GetOffsetShell --broker-list localhost:9092 --topic mytopic --time -2

Get the latest offset still in a topic

bin/kafka-run-class.sh kafka.tools.GetOffsetShell --broker-list localhost:9092 --topic mytopic --time -1

Consume messages with the console consumer

bin/kafka-console-consumer.sh --new-consumer --bootstrap-server localhost:9092 --topic mytopic --from-beginning

Get the consumer offsets for a topic

bin/kafka-consumer-offset-checker.sh --zookeeper=localhost:2181 --topic=mytopic --group=my_consumer_group

Read from __consumer_offsets

Add the following property to config/consumer.properties: exclude.internal.topics=false

bin/kafka-console-consumer.sh --consumer.config config/consumer.properties --from-beginning --topic __consumer_offsets --zookeeper localhost:2181 --formatter "kafka.coordinator.GroupMetadataManager\$OffsetsMessageFormatter"

Kafka Consumer Groups

List the consumer groups known to Kafka

bin/kafka-consumer-groups.sh --zookeeper localhost:2181 --list (old api)

bin/kafka-consumer-groups.sh --new-consumer --bootstrap-server localhost:9092 --list (new api)

View the details of a consumer group

bin/kafka-consumer-groups.sh --zookeeper localhost:2181 --describe --group <group name>

kafkacat

Getting the last five message of a topic

kafkacat -C -b localhost:9092 -t mytopic -p 0 -o -5 -e

Zookeeper

Starting the Zookeeper Shell

bin/zookeeper-shell.sh localhost:2181

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment