Apache Kafka CLI Event streaming tools
Light · Postcard
102 × 152 mm · PDF
Dark · Postcard
102 × 152 mm · PDF
Ink saver · Postcard
102 × 152 mm · PDF
Light · A4 landscape
297 × 210 mm · PDF
Dark · A4 landscape
297 × 210 mm · PDF
Ink saver · A4 landscape
297 × 210 mm · PDF
Light · A3 landscape
420 × 297 mm · PDF
Dark · A3 landscape
420 × 297 mm · PDF
Ink saver · A3 landscape
420 × 297 mm · PDF
Start here
kafka-topics.sh --bootstrap-server <broker>
--list
kafka-topics.sh --bootstrap-server <broker> --create
--topic <topic>
kafka-topics.sh --bootstrap-server <broker>
--describe --topic <topic>
kafka-console-producer.sh --bootstrap-server <broker>
--topic <topic>
kafka-console-consumer.sh --bootstrap-server <broker>
--topic <topic> --from-beginning
kafka-consumer-groups.sh --bootstrap-server <broker>
--list
kafka-consumer-groups.sh --bootstrap-server <broker>
--describe --group <group>
kafka-configs.sh --bootstrap-server <broker>
--describe --entity-type topics --entity-name
<topic>
Concepts
- Producer writes records
- Topic split in partitions
- Consumer group one member per partition
- __consumer_offsets saved position
Topics
kafka-topics.sh --bootstrap-server <broker>
--list
kafka-topics.sh --bootstrap-server <broker> --create
--topic <topic>
kafka-topics.sh --bootstrap-server <broker> --create
--topic <topic> --partitions <n>
--replication-factor <n>
kafka-topics.sh --bootstrap-server <broker>
--describe --topic <topic>
kafka-topics.sh --bootstrap-server <broker> --alter
--topic <topic> --partitions <n>
kafka-topics.sh --bootstrap-server <broker> --delete
--topic <topic>
kafka-topics.sh --bootstrap-server <broker>
--describe --under-replicated-partitions
Produce
kafka-console-producer.sh --bootstrap-server <broker>
--topic <topic>
kafka-console-producer.sh --bootstrap-server <broker>
--topic <topic> --property parse.key=true --property
key.separator=:
kafka-console-producer.sh --bootstrap-server <broker>
--topic <topic> < <file>
kafka-console-producer.sh --bootstrap-server <broker>
--topic <topic> --producer-property acks=all
Consume
kafka-console-consumer.sh --bootstrap-server <broker>
--topic <topic>
kafka-console-consumer.sh --bootstrap-server <broker>
--topic <topic> --from-beginning
kafka-console-consumer.sh --bootstrap-server <broker>
--topic <topic> --group <group>
kafka-console-consumer.sh --bootstrap-server <broker>
--topic <topic> --property print.key=true
kafka-console-consumer.sh --bootstrap-server <broker>
--topic <topic> --property print.timestamp=true
--property print.offset=true
kafka-console-consumer.sh --bootstrap-server <broker>
--topic <topic> --max-messages <n>
kafka-console-consumer.sh --bootstrap-server <broker>
--topic <topic> --partition <n> --offset
<n>
kafka-console-consumer.sh --bootstrap-server <broker>
--topic <topic> --isolation-level read_committed
Consumer groups
kafka-consumer-groups.sh --bootstrap-server <broker>
--list
kafka-consumer-groups.sh --bootstrap-server <broker>
--describe --group <group>
kafka-consumer-groups.sh --bootstrap-server <broker>
--describe --group <group> --members --verbose
kafka-consumer-groups.sh --bootstrap-server <broker>
--describe --group <group> --state
kafka-consumer-groups.sh --bootstrap-server <broker>
--group <group> --reset-offsets --to-earliest --topic
<topic> --dry-run
kafka-consumer-groups.sh --bootstrap-server <broker>
--group <group> --reset-offsets --to-earliest --topic
<topic> --execute
kafka-consumer-groups.sh --bootstrap-server <broker>
--group <group> --reset-offsets --to-latest
--all-topics --execute
kafka-consumer-groups.sh --bootstrap-server <broker>
--group <group> --reset-offsets --to-datetime
<YYYY-MM-DDTHH:mm:SS.sss> --topic <topic>
--execute
kafka-consumer-groups.sh --bootstrap-server <broker>
--delete --group <group>
Configs and ACLs
kafka-configs.sh --bootstrap-server <broker>
--describe --entity-type topics --entity-name
<topic>
kafka-configs.sh --bootstrap-server <broker> --alter
--entity-type topics --entity-name <topic>
--add-config retention.ms=<ms>
kafka-configs.sh --bootstrap-server <broker> --alter
--entity-type topics --entity-name <topic>
--delete-config retention.ms
kafka-configs.sh --bootstrap-server <broker>
--describe --entity-type brokers --entity-default
kafka-acls.sh --bootstrap-server <broker>
--list
kafka-acls.sh --bootstrap-server <broker> --add
--allow-principal User:<name> --operation Read --topic
<topic>
Inspect and operate
kafka-get-offsets.sh --bootstrap-server <broker>
--topic <topic>
kafka-metadata-quorum.sh --bootstrap-server <broker>
describe --status
kafka-broker-api-versions.sh --bootstrap-server
<broker>
Recipes
kafka-topics.sh --bootstrap-server <broker> --create --topic orders --partitions 3echo 'k1:hello' | kafka-console-producer.sh --bootstrap-server <broker> --topic orders --property parse.key=true --property key.separator=:kafka-console-consumer.sh --bootstrap-server <broker> --topic orders --from-beginning --property print.key=true --max-messages 1
kafka-consumer-groups.sh --bootstrap-server <broker> --group app --reset-offsets --to-datetime 2026-01-01T00:00:00.000 --topic orders --dry-run# stop the consumers, then repeat with --execute
kafka-configs.sh --bootstrap-server <broker> --alter --entity-type topics --entity-name orders --add-config retention.ms=3600000kafka-configs.sh --bootstrap-server <broker> --describe --entity-type topics --entity-name orders
docker run -d --name kafka -p 9092:9092 apache/kafka:4.3.1docker exec -it kafka /opt/kafka/bin/kafka-topics.sh --bootstrap-server localhost:9092 --list



