Bird
Raised Fist0
Kafkadevops~10 mins

Kafka CLI tools overview - Step-by-Step Execution

Choose your learning style10 modes available
Process Flow - Kafka CLI tools overview
Start Kafka CLI
↓
Choose Tool
↓
Producer
↓
Send Msg
↓
Show Output
↓
End
This flow shows how you start Kafka CLI, pick a tool (producer, consumer, admin), perform actions, and see results.
Execution Sample
Kafka
kafka-console-producer --topic test
kafka-console-consumer --topic test --from-beginning
kafka-topics --list
These commands send messages, read messages, and list topics using Kafka CLI tools.
Process Table
StepCommandActionResult/Output
1kafka-console-producer --topic testStart producer to send messagesReady to accept input for topic 'test'
2Type 'Hello Kafka'Send message to topicMessage 'Hello Kafka' sent
3kafka-console-consumer --topic test --from-beginningStart consumer to read messagesReads messages from beginning of 'test'
4Consumer outputs messageDisplay received message'Hello Kafka' displayed
5kafka-topics --listList all topicsShows list including 'test'
6ExitStop CLI toolsCLI session ends
💡 User ends session or stops CLI tools
Status Tracker
VariableStartAfter Step 2After Step 4Final
Message Inputempty'Hello Kafka''Hello Kafka'session ended
Topic Listunknownincludes 'test'includes 'test'session ended
Key Moments - 3 Insights
Why does the consumer show messages only after starting it?
Because the consumer reads messages from the topic when it starts, as shown in step 3 and 4 in the execution_table.
What happens if you send a message before starting the consumer?
The message is stored in the topic and will be read when the consumer starts, as the consumer reads from the beginning (step 3).
How do you know which topics exist?
Using the kafka-topics --list command (step 5) shows all topics including the one used.
Visual Quiz - 3 Questions
Test your understanding
Look at the execution_table, what is the output after step 2?
AMessage 'Hello Kafka' sent
BReady to accept input
C'Hello Kafka' displayed
DShows list including 'test'
💡 Hint
Check the 'Result/Output' column for step 2 in execution_table
At which step does the consumer start reading messages?
AStep 1
BStep 5
CStep 3
DStep 6
💡 Hint
Look at the 'Action' column in execution_table for when consumer starts
If you run kafka-topics --list after sending messages, what changes in variable_tracker?
AMessage Input changes
BTopic List includes 'test'
CMessage Input becomes 'Hello Kafka'
DNo change in Topic List
💡 Hint
Refer to 'Topic List' row in variable_tracker after step 5
Concept Snapshot
Kafka CLI tools let you interact with Kafka from the command line.
Use kafka-console-producer to send messages.
Use kafka-console-consumer to read messages.
Use kafka-topics to manage topics.
Start tools, perform actions, see output, then exit.
Full Transcript
This visual execution shows how Kafka CLI tools work step-by-step. First, you start the producer to send messages to a topic. Then, you start the consumer to read messages from that topic. You can also list topics using the admin tool. Each step shows the command, what it does, and the output you see. Variables like message input and topic list change as you send and read messages. Key moments explain why the consumer reads messages only after starting and how to check existing topics. The quiz tests your understanding of these steps and outputs.

Practice

(1/5)
1. Which Kafka CLI tool is used to create a new topic?
easy
A. kafka-topics.sh --create
B. kafka-console-producer.sh
C. kafka-console-consumer.sh
D. kafka-configs.sh

Solution

  1. Step 1: Identify the tool for topic management

    The kafka-topics.sh tool is used to manage topics including creation, deletion, and listing.
  2. Step 2: Confirm the create option usage

    Using --create with kafka-topics.sh creates a new topic.
  3. Final Answer:

    kafka-topics.sh --create -> Option A
  4. Quick Check:

    Topic creation = kafka-topics.sh --create [OK]
Hint: Topic creation always uses kafka-topics.sh with --create [OK]
Common Mistakes:
  • Confusing producer or consumer tools for topic creation
  • Using kafka-configs.sh which manages configs, not topics
  • Omitting --create option
2. Which of the following is the correct syntax to start a Kafka console producer connecting to a server at localhost:9092?
easy
A. kafka-console-producer.sh --connect localhost:9092 --topic mytopic
B. kafka-console-producer.sh --broker-list localhost:9092 --topic mytopic
C. kafka-console-producer.sh --server localhost:9092 --topic mytopic
D. kafka-console-producer.sh --bootstrap-server localhost:9092 --topic mytopic

Solution

  1. Step 1: Identify the correct option for specifying Kafka server

    Modern Kafka CLI tools use --bootstrap-server to specify the Kafka server address.
  2. Step 2: Check the full command syntax

    The correct syntax includes kafka-console-producer.sh --bootstrap-server localhost:9092 --topic mytopic.
  3. Final Answer:

    kafka-console-producer.sh --bootstrap-server localhost:9092 --topic mytopic -> Option D
  4. Quick Check:

    Use --bootstrap-server for server address [OK]
Hint: Always use --bootstrap-server to specify Kafka server [OK]
Common Mistakes:
  • Using deprecated --broker-list instead of --bootstrap-server
  • Using incorrect flags like --server or --connect
  • Omitting the --topic option
3. What will be the output of this command if the topic test-topic has 3 messages: kafka-console-consumer.sh --bootstrap-server localhost:9092 --topic test-topic --from-beginning --max-messages 2?
medium
A. It will print all 3 messages from test-topic and then exit.
B. It will print the first 2 messages from test-topic and then exit.
C. It will print no messages because --max-messages is ignored.
D. It will print only the last message from test-topic.

Solution

  1. Step 1: Understand the --max-messages option

    The --max-messages 2 option limits the consumer to read only 2 messages before exiting.
  2. Step 2: Analyze the command behavior

    The command reads from the beginning and stops after printing 2 messages, even though the topic has 3 messages.
  3. Final Answer:

    It will print the first 2 messages from test-topic and then exit. -> Option B
  4. Quick Check:

    --max-messages limits output count [OK]
Hint: --max-messages limits how many messages are consumed [OK]
Common Mistakes:
  • Assuming all messages will be printed ignoring --max-messages
  • Thinking --max-messages prints last messages only
  • Confusing --from-beginning with consuming only latest messages
4. You run this command but get an error: kafka-console-producer.sh --topic mytopic. What is missing?
medium
A. The --bootstrap-server option specifying the Kafka server address.
B. The --create option to create the topic.
C. The --from-beginning option to read messages.
D. The --max-messages option to limit output.

Solution

  1. Step 1: Identify required options for kafka-console-producer.sh

    The producer needs to know which Kafka server to connect to, specified by --bootstrap-server.
  2. Step 2: Check the given command

    The command lacks --bootstrap-server, so it cannot connect and throws an error.
  3. Final Answer:

    The --bootstrap-server option specifying the Kafka server address. -> Option A
  4. Quick Check:

    Producer needs --bootstrap-server to connect [OK]
Hint: Always include --bootstrap-server to avoid connection errors [OK]
Common Mistakes:
  • Assuming topic creation is automatic without --create
  • Confusing producer options with consumer options
  • Adding irrelevant options like --from-beginning for producer
5. You want to list all topics on a Kafka server at localhost:9092. Which command correctly lists the topics?
hard
A. kafka-console-producer.sh --list --bootstrap-server localhost:9092
B. kafka-console-consumer.sh --list --bootstrap-server localhost:9092
C. kafka-topics.sh --list --bootstrap-server localhost:9092
D. kafka-configs.sh --list --bootstrap-server localhost:9092

Solution

  1. Step 1: Identify the tool for listing topics

    The kafka-topics.sh tool manages topics and supports the --list option to show all topics.
  2. Step 2: Confirm the correct command syntax

    Using --bootstrap-server localhost:9092 specifies the Kafka server to connect to.
  3. Final Answer:

    kafka-topics.sh --list --bootstrap-server localhost:9092 -> Option C
  4. Quick Check:

    List topics with kafka-topics.sh --list [OK]
Hint: Use kafka-topics.sh with --list to see all topics [OK]
Common Mistakes:
  • Using consumer or producer tools to list topics
  • Omitting --bootstrap-server causing connection failure
  • Using kafka-configs.sh which lists configs, not topics
Recommended

Ready to prove it?

Pass the test and this pattern moves unknown strong while earning +1 Grip toward your certificate.

10 questions~5 mineasy hard