0Pricing
Apache Kafka & Stream Processing Fundamentals · Lesson

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 --list

Creating 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 1

Inspecting 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_topic

Deleting 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_topic

Sending 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_topic

Receiving 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-beginning

Managing 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 --list

CLI 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

  1. Command-Line Tools for Kafka
  2. Monitoring Kafka with JMX & Tools
  3. Security: Authentication & Authorization
  4. Consumer Lag Tracking & Alerting
← Back to Apache Kafka & Stream Processing Fundamentals