Replication factor in Kafka - Commands & Configuration
kafka-topics.sh --create --topic example-topic --bootstrap-server localhost:9092 --partitions 3 --replication-factor 2
--replication-factor - Sets how many copies of each partition Kafka keeps on different servers--partitions - Defines how many parts the topic is split into for parallel processingkafka-topics.sh --describe --topic example-topic --bootstrap-server localhost:9092If you remember nothing else from this pattern, remember: replication factor controls how many copies of your Kafka data exist to keep it safe from server failures.
Practice
What does the replication factor in Kafka control?
Solution
Step 1: Understand replication factor meaning
The replication factor defines how many copies of each partition Kafka keeps on different brokers.Step 2: Differentiate from other Kafka settings
Partitions count and consumer group size are unrelated to replication factor.Final Answer:
The number of copies of each partition stored across brokers -> Option BQuick Check:
Replication factor = number of copies [OK]
- Confusing replication factor with partition count
- Thinking replication factor controls consumer groups
- Assuming replication factor limits partition size
Which of the following is the correct way to set the replication factor when creating a Kafka topic using the command line?
kafka-topics.sh --create --topic my-topic --partitions 3 --replication-factor ? --bootstrap-server localhost:9092
Solution
Step 1: Check Kafka CLI syntax for replication factor
The correct flag is--replication-factorwith a space before the value.Step 2: Identify incorrect options
Options with underscores or camelCase are invalid flags; equals sign is not used here.Final Answer:
--replication-factor 3 -> Option AQuick Check:
Use double dash and hyphen for replication factor [OK]
- Using underscore instead of hyphen
- Using equals sign instead of space
- Using camelCase flag names
Given a Kafka topic created with --partitions 2 and --replication-factor 3, how many total replicas will Kafka store across the cluster?
Solution
Step 1: Calculate replicas per partition
Each partition has 3 replicas because replication factor is 3.Step 2: Multiply by number of partitions
2 partitions x 3 replicas each = 6 total replicas.Final Answer:
6 -> Option AQuick Check:
Partitions x Replication factor = Total replicas [OK]
- Confusing replication factor with total partitions
- Adding instead of multiplying partitions and replicas
- Ignoring replication factor in calculation
What is wrong with this Kafka topic creation command?
kafka-topics.sh --create --topic logs --partitions 3 --replication-factor 5 --bootstrap-server localhost:9092
Assuming the Kafka cluster has only 3 brokers.
Solution
Step 1: Understand replication factor limits
Replication factor must be less than or equal to the number of brokers to ensure each replica is on a different broker.Step 2: Check cluster size vs replication factor
Replication factor 5 is greater than 3 brokers, which is invalid.Final Answer:
Replication factor cannot be greater than the number of brokers -> Option DQuick Check:
Replication factor ≤ brokers [OK]
- Thinking partitions must equal replication factor
- Ignoring cluster size limits
- Assuming topic names have restrictions here
You want to create a Kafka topic with 4 partitions and a replication factor of 3 for high availability. However, your cluster has only 2 brokers. What is the best solution?
Solution
Step 1: Check replication factor vs brokers
Replication factor 3 requires at least 3 brokers to store replicas on different machines.Step 2: Evaluate options
Reducing replication factor lowers availability; increasing brokers meets requirement.Final Answer:
Increase the number of brokers to at least 3 -> Option CQuick Check:
Replication factor ≤ brokers for high availability [OK]
- Setting replication factor higher than brokers
- Reducing partitions instead of brokers
- Ignoring availability requirements
Ready to prove it?
Pass the test and this pattern moves unknown
