📖 Scenario: You are setting up a Kafka broker for a small company that wants to manage message streams efficiently. You need to configure the broker with basic settings to get it running properly.
🎯 Goal: Configure a Kafka broker by creating a configuration dictionary, setting a key configuration value, applying the configuration, and then printing the final broker settings.
📋 What You'll Learn
Create a dictionary called broker_config with initial settings
Add a configuration key log.retention.hours with value 168
Apply the configuration by updating the dictionary with a new key num.network.threads set to 3
Print the final broker_config dictionary
💡 Why This Matters
🌍 Real World
Kafka brokers need configuration to control how they store logs, connect to Zookeeper, and manage network threads. This project shows how to set these configurations programmatically.
💼 Career
Understanding broker configuration is important for roles like DevOps engineers, backend developers, and data engineers who manage Kafka clusters.
Progress0 / 4 steps
1
Create initial broker configuration dictionary
Create a dictionary called broker_config with these exact entries: 'broker.id': 1, 'log.dirs': '/tmp/kafka-logs', and 'zookeeper.connect': 'localhost:2181'.
Kafka
Hint
Use curly braces {} to create a dictionary with the exact keys and values.
2
Add log retention configuration
Add a new key 'log.retention.hours' with the value 168 to the existing broker_config dictionary.
Kafka
Hint
Use square brackets [] to add a new key-value pair to the dictionary.
3
Apply network threads configuration
Add a new key 'num.network.threads' with the value 3 to the broker_config dictionary to apply the network threads setting.
Kafka
Hint
Use the same method as before to add another key-value pair.
4
Print the final broker configuration
Write a print statement to display the broker_config dictionary.
Kafka
Hint
Use print(broker_config) to show the dictionary.
Practice
(1/5)
1. What is the main purpose of Kafka broker configuration files?
easy
A. To set key=value pairs that control broker behavior
B. To write Kafka client application code
C. To store user data permanently
D. To configure the operating system settings
Solution
Step 1: Understand the role of broker configuration
Broker configuration files contain settings that control how Kafka brokers behave, such as storage and network handling.
Step 2: Identify the correct description
Only To set key=value pairs that control broker behavior correctly describes the purpose as setting key=value pairs for broker behavior.
Final Answer:
To set key=value pairs that control broker behavior -> Option A
Quick Check:
Broker config = key=value pairs [OK]
Hint: Broker config files set key=value pairs for broker control [OK]
Common Mistakes:
Confusing broker config with client code
Thinking config stores user data
Mixing OS settings with Kafka broker config
2. Which of the following is the correct syntax to set the broker ID in Kafka's configuration file?
easy
A. broker_id=1
B. broker-id:1
C. broker.id=1
D. brokerId=1
Solution
Step 1: Recall Kafka config syntax
Kafka uses key=value pairs with dots to separate words, like broker.id=1.
Step 2: Compare options
Only broker.id=1 uses the correct dot notation and equal sign syntax.
Final Answer:
broker.id=1 -> Option C
Quick Check:
Correct syntax uses dot and equal sign [OK]
Hint: Kafka configs use dot notation and equal sign [OK]
Step 1: Understand the meaning of num.network.threads
This setting controls how many threads the broker uses to handle network requests from clients.
Step 2: Match options with setting
Number of threads handling network requests correctly states it controls threads handling network requests; others describe unrelated functions.
Final Answer:
Number of threads handling network requests -> Option D
Quick Check:
num.network.threads = network threads count [OK]
Hint: network.threads means threads for network requests [OK]
Common Mistakes:
Confusing network threads with IO threads
Thinking it controls log writing threads
Mixing client connections with message processing
4. You see this broker config line:
log.retention.hours 168
What is wrong with this line?
medium
A. Missing equal sign between key and value
B. Invalid value; hours must be a string
C. Key name is incorrect; should be log.retention.ms
D. No error; this line is correct
Solution
Step 1: Check syntax for key-value pairs
Kafka config requires an equal sign (=) between key and value, not just a space.
Step 2: Identify the error in the line
The line uses a space instead of '=', so it is a syntax error.
Final Answer:
Missing equal sign between key and value -> Option A
Quick Check:
Config lines need key=value format [OK]
Hint: Config lines must have key=value, not space [OK]
Common Mistakes:
Assuming space works as separator
Confusing retention hours with milliseconds
Thinking the key name is wrong
5. You want to configure a Kafka broker to store logs in two directories: /data/kafka1 and /data/kafka2. Which is the correct way to set log.dirs in the broker config?
hard
A. log.dirs=/data/kafka1;/data/kafka2
B. log.dirs=/data/kafka1,/data/kafka2
C. log.dirs=/data/kafka1 /data/kafka2
D. log.dirs=[/data/kafka1,/data/kafka2]
Solution
Step 1: Understand log.dirs format
Kafka expects multiple directories separated by commas without spaces or brackets.
Step 2: Evaluate each option
log.dirs=/data/kafka1,/data/kafka2 uses commas correctly; B uses semicolon (wrong), C uses space (wrong), D uses brackets (wrong).
Final Answer:
log.dirs=/data/kafka1,/data/kafka2 -> Option B
Quick Check:
Multiple dirs separated by commas [OK]
Hint: Separate multiple log dirs with commas, no spaces [OK]
Common Mistakes:
Using semicolons or spaces instead of commas
Adding brackets around paths
Including spaces between paths
Recommended
Ready to prove it?
Pass the test and this pattern moves unknownstrongwhile earning +1 Grip toward your certificate.