Bird
Raised Fist0
Kafkadevops~20 mins

Kafka CLI tools overview - Practice Problems & Coding Challenges

Choose your learning style10 modes available
Challenge - 5 Problems
🎖️
Kafka CLI Master
Get all challenges correct to earn this badge!
Test your skills under time pressure!
❓ Predict Output
intermediate
2:00remaining
What is the output of the kafka-topics.sh command?
You run the command kafka-topics.sh --list --bootstrap-server localhost:9092 on a Kafka cluster with three topics: orders, payments, and shipments. What will be the output?
Kafka
kafka-topics.sh --list --bootstrap-server localhost:9092
AError: Topic list not found
B
orders
payments
shipments
C
Topic orders created
Topic payments created
Topic shipments created
DNo topics found
Attempts:
2 left
💡 Hint
The --list option shows all existing topics in the cluster.
❓ Predict Output
intermediate
2:00remaining
What does kafka-console-producer.sh output after sending a message?
You run kafka-console-producer.sh --broker-list localhost:9092 --topic test and type the message Hello Kafka. What output do you see immediately after pressing Enter?
Kafka
kafka-console-producer.sh --broker-list localhost:9092 --topic test
AError: Unable to send message
BHello Kafka
C(No output, just a new prompt line)
DMessage sent successfully
Attempts:
2 left
💡 Hint
The console producer does not print confirmation messages after sending.
❓ Predict Output
advanced
2:00remaining
What is the output of kafka-consumer-groups.sh --describe?
You run kafka-consumer-groups.sh --bootstrap-server localhost:9092 --group my-group --describe and the group has one member consuming from topic orders partition 0 with lag 5. What output do you expect?
Kafka
kafka-consumer-groups.sh --bootstrap-server localhost:9092 --group my-group --describe
AGROUP my-group has no lag
BError: Group my-group not found
CNo consumers found for group my-group
D
GROUP       TOPIC   PARTITION  CURRENT-OFFSET  LOG-END-OFFSET  LAG  CONSUMER-ID  HOST  CLIENT-ID
my-group    orders  0          100             105             5    consumer-1   /127.0.0.1  client-1
Attempts:
2 left
💡 Hint
The --describe option shows detailed info including lag.
❓ Predict Output
advanced
2:00remaining
What error does kafka-configs.sh produce with invalid syntax?
You run kafka-configs.sh --alter --entity-type topics --entity-name my-topic --add-config retention.ms=abc --bootstrap-server localhost:9092. What error will you see?
Kafka
kafka-configs.sh --alter --entity-type topics --entity-name my-topic --add-config retention.ms=abc --bootstrap-server localhost:9092
AError: Invalid value for retention.ms: abc
BConfiguration updated successfully
CError: Unknown entity type topics
DSyntax error: missing equals sign
Attempts:
2 left
💡 Hint
retention.ms expects a number in milliseconds.
🧠 Conceptual
expert
2:00remaining
Which Kafka CLI tool is used to reset consumer group offsets?
You want to move the offsets of a consumer group backward to reprocess messages. Which Kafka CLI tool and option do you use?
Akafka-consumer-groups.sh with --reset-offsets
Bkafka-topics.sh with --alter-offsets
Ckafka-configs.sh with --reset-consumer
Dkafka-console-consumer.sh with --rewind
Attempts:
2 left
💡 Hint
Resetting offsets is done via the consumer groups tool.

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