Command-Line Tools for Kafka
Master the use of Kafka's built-in command-line utilities for topic management, consumer group inspection, and more.
Command-Line Tools for Kafka is a free Apache Kafka & Stream Processing Fundamentals lesson on CoddyKit — lesson 1 of 4. You can read the complete lesson below for free — then practise it hands-on in the browser with a built-in code editor and a 24/7 AI tutor. It is part of the Apache Kafka & Stream Processing Fundamentals learning path, one of 4 lessons in the course, and your progress syncs across the web and the CoddyKit app.
Kafka CLI Tools: Your Admin Toolkit
Welcome! Kafka command-line interface (CLI) tools are essential for managing your Kafka cluster. They allow you to interact directly with brokers, topics, and consumer groups.
Mastering these tools is a crucial skill for any Kafka administrator or developer, enabling quick setup, debugging, and monitoring.
How to Use Kafka CLI Scripts
Kafka's CLI tools are shell scripts located in the bin/ directory of your Kafka installation. You typically execute them directly from your terminal.
Most commands follow a similar structure: bin/kafka-tool.sh --bootstrap-server <broker_address> --<action> [options].
Listing All Kafka Topics
The kafka-topics.sh tool is your primary utility for managing topics. Let's start by listing all topics currently available in your Kafka cluster.
The --list option does exactly that, showing you an overview of your data streams.
bin/kafka-topics.sh --bootstrap-server localhost:9092 --listCreating New Topics
To store data, you need to create a topic. When creating one, you must specify its name, the number of partitions, and the replication factor.
- Partitions: How many segments a topic is divided into. More partitions allow for greater parallelism.
- Replication Factor: The number of copies of each partition kept across different brokers for fault tolerance.
bin/kafka-topics.sh --bootstrap-server localhost:9092 --create --topic my_first_topic --partitions 1 --replication-factor 1Inspecting Topic Details
Once a topic is created, you might want to check its configuration and status. The --describe option provides detailed information, including partition assignments, leader, and replica status.
bin/kafka-topics.sh --bootstrap-server localhost:9092 --describe --topic my_first_topicDeleting Topics
You can remove topics that are no longer needed. Be cautious, as deleting a topic will permanently remove all its data!
For topic deletion to work, ensure delete.topic.enable=true is set in your Kafka broker's configuration.
bin/kafka-topics.sh --bootstrap-server localhost:9092 --delete --topic my_first_topicSending Messages from Console
The kafka-console-producer.sh tool lets you send messages directly from your terminal. It's perfect for quick tests or manually injecting data into a topic.
After running the command, simply type your message and press Enter to send it.
bin/kafka-console-producer.sh --bootstrap-server localhost:9092 --topic my_first_topicReceiving Messages from Console
To read messages from a topic, use kafka-console-consumer.sh. You can specify whether to read from the beginning of the topic or only new messages that arrive after the consumer starts.
bin/kafka-console-consumer.sh --bootstrap-server localhost:9092 --topic my_first_topic --from-beginningManaging Consumer Groups
Consumers typically operate within a "consumer group" to enable distributed message processing. The kafka-consumer-groups.sh tool is vital for inspecting and managing these groups.
You can use it to list all active consumer groups and check their offsets.
bin/kafka-consumer-groups.sh --bootstrap-server localhost:9092 --listCLI Tool Quiz
You need to view the detailed configuration, including partitions, replication factor, leader, and replica assignments, for a Kafka topic named app_events. Which command-line option for kafka-topics.sh would you use?
Recap: Kafka CLI Power
You've learned how Kafka's command-line tools are indispensable for daily administration and quick interactions with your cluster. We covered:
- Listing, creating, describing, and deleting topics using
kafka-topics.sh. - Sending messages with
kafka-console-producer.sh. - Receiving messages with
kafka-console-consumer.sh. - Inspecting consumer groups with
kafka-consumer-groups.sh.
These powerful tools are your first line of interaction for managing and monitoring Kafka!
Frequently asked questions
Is the “Command-Line Tools for Kafka” lesson free?
Yes — the full text of “Command-Line Tools for Kafka” is free to read here on the web, and the Apache Kafka & Stream Processing Fundamentals course includes 4 lessons in total. To practise it interactively (a built-in code editor and a 24/7 AI tutor) and unlock the rest of the Apache Kafka & Stream Processing Fundamentals course, upgrade to CoddyKit PRO.
What will I learn in “Command-Line Tools for Kafka”?
Master the use of Kafka's built-in command-line utilities for topic management, consumer group inspection, and more. You practise Apache Kafka & Stream Processing Fundamentals with hands-on code you run directly in the browser, and a 24/7 AI tutor answers your questions as you work through the lesson.
Do I need any experience to start Apache Kafka & Stream Processing Fundamentals?
No prior experience is required. Apache Kafka & Stream Processing Fundamentals on CoddyKit is structured for beginners through advanced learners; this is — lesson 1 of 4, so you can start here or from the beginning and move at your own pace.
How long does the “Command-Line Tools for Kafka” lesson take?
Most CoddyKit lessons take about 5–10 minutes. Each one is bite-sized and interactive, so you make steady progress and pick up exactly where you left off across the web and the app.
Can I write and run code in this Apache Kafka & Stream Processing Fundamentals lesson?
Yes. Every Apache Kafka & Stream Processing Fundamentals lesson includes a built-in code editor, so you write and run real code right in your browser and get instant AI feedback — no local setup required.
All lessons in this course
- Command-Line Tools for Kafka
- Monitoring Kafka with JMX & Tools
- Security: Authentication & Authorization
- Consumer Lag Tracking & Alerting