📖 Scenario: You are setting up a Kafka environment to handle messages for a small online store. You need to create a topic where order messages will be sent and received.
🎯 Goal: Create a Kafka topic named orders with 3 partitions and a replication factor of 1 using the Kafka command line tool.
📋 What You'll Learn
Create a topic named orders
Set the number of partitions to 3
Set the replication factor to 1
Use the Kafka kafka-topics.sh command line tool
💡 Why This Matters
🌍 Real World
Kafka topics organize messages by category, helping systems handle data streams efficiently.
💼 Career
Kafka topic creation is a fundamental skill for data engineers and backend developers working with real-time data pipelines.
Progress0 / 4 steps
1
Set up the Kafka topic creation command
Write the command to create a Kafka topic named orders using kafka-topics.sh with the --create option.
Kafka
Hint
Use kafka-topics.sh --create --topic orders as the base command.
2
Add partitions configuration
Extend the command to set the number of partitions to 3 using the --partitions option.
Kafka
Hint
Add --partitions 3 to specify the number of partitions.
3
Add replication factor configuration
Add the --replication-factor 1 option to the command to set the replication factor to 1.
Kafka
Hint
Use --replication-factor 1 to set replication factor.
4
Display the created topic details
Write the command to describe the orders topic using kafka-topics.sh with the --describe option.
Kafka
Hint
Use kafka-topics.sh --describe --topic orders to see topic details.
Practice
(1/5)
1. What is the main purpose of a topic in Kafka?
easy
A. To compile Java programs
B. To store user login credentials
C. To manage database connections
D. To organize messages like folders organize files
Solution
Step 1: Understand Kafka topic role
A Kafka topic is a category or feed name to which messages are published.
Step 2: Compare options with topic function
Only To organize messages like folders organize files correctly describes topics as organizing messages like folders organize files.
Final Answer:
To organize messages like folders organize files -> Option D
Quick Check:
Topic = Organize messages [OK]
Hint: Topics group messages like folders group files [OK]
Common Mistakes:
Confusing topics with databases
Thinking topics store user data
Mixing topics with program compilation
2. Which command correctly creates a Kafka topic named orders with 3 partitions and replication factor 2?
A. Creates a topic named 'sales' with 1 partition and replication factor 5
B. Fails because replication factor cannot be 1
C. Creates a topic named 'sales' with 5 partitions and replication factor 1
D. Fails due to missing zookeeper connection
Solution
Step 1: Analyze command parameters
The command specifies topic 'sales', 5 partitions, replication factor 1, and bootstrap server.
Step 2: Understand Kafka topic creation rules
Replication factor 1 is valid (means no replicas), and partitions set to 5 means 5 partitions created.
Final Answer:
Creates a topic named 'sales' with 5 partitions and replication factor 1 -> Option C
Quick Check:
Partitions=5, Replication=1 [OK]
Hint: Replication factor 1 means no replicas, partitions as given [OK]
Common Mistakes:
Confusing partitions with replication factor
Assuming replication factor 1 is invalid
Expecting zookeeper connection with bootstrap-server
4. You tried to create a topic with this command:
kafka-topics.sh --create --topic logs --partitions two --replication-factor 3 --bootstrap-server localhost:9092
What is the error?
medium
A. Missing --create flag
B. Invalid number for partitions: 'two' should be a number
C. Replication factor cannot be 3
D. Bootstrap server address is incorrect
Solution
Step 1: Check partitions parameter
The partitions option expects a number, but 'two' is a word, causing a syntax error.
Step 2: Verify other parameters
Replication factor 3 and bootstrap server are valid; --create flag is present.
Final Answer:
Invalid number for partitions: 'two' should be a number -> Option B
Quick Check:
Partitions must be numeric [OK]
Hint: Partitions must be numeric, not words [OK]
Common Mistakes:
Using words instead of numbers for partitions
Assuming replication factor 3 is invalid
Forgetting --create flag
5. You want to create a Kafka topic for a critical system that must not lose messages and should handle high load. Which topic creation settings are best?
hard
A. Partitions: 10, Replication factor: 3
B. Partitions: 1, Replication factor: 1
C. Partitions: 5, Replication factor: 1
D. Partitions: 3, Replication factor: 2
Solution
Step 1: Understand requirements for critical system
High load needs many partitions for parallelism; no message loss needs high replication factor.
Step 2: Evaluate options
Partitions: 10, Replication factor: 3 has 10 partitions (high load) and replication factor 3 (high safety). Others have fewer partitions or lower replication.
Final Answer:
Partitions: 10, Replication factor: 3 -> Option A
Quick Check:
High load + safety = many partitions + high replication [OK]