Bird
Raised Fist0
Kafkadevops~10 mins

MirrorMaker 2 concept in Kafka - Interactive Code Practice

Choose your learning style10 modes available
Practice - 5 Tasks
Answer the questions below
1fill in blank
easy

Complete the code to specify the source cluster in MirrorMaker 2 configuration.

Kafka
source.bootstrap.servers=[1]
Drag options to blanks, or click blank then click option'
A"target.kafka:9092"
B"source.kafka:9092"
C"localhost:9092"
D"mirror.kafka:9092"
Attempts:
3 left
💡 Hint
Common Mistakes
Using the target cluster address instead of the source cluster.
Leaving the value empty or with incorrect format.
2fill in blank
medium

Complete the code to specify the target cluster in MirrorMaker 2 configuration.

Kafka
target.bootstrap.servers=[1]
Drag options to blanks, or click blank then click option'
A"source.kafka:9092"
B"mirror.kafka:9092"
C"localhost:9092"
D"target.kafka:9092"
Attempts:
3 left
💡 Hint
Common Mistakes
Using the source cluster address instead of the target cluster.
Using an invalid or empty address.
3fill in blank
hard

Fix the error in the MirrorMaker 2 configuration property to enable topic replication.

Kafka
replication.policy.class=[1]
Drag options to blanks, or click blank then click option'
A"org.apache.kafka.connect.mirror.DefaultReplicationPolicy"
B"org.apache.kafka.connect.mirror.TopicReplicationPolicy"
C"org.apache.kafka.connect.mirror.MirrorReplicationPolicy"
D"org.apache.kafka.connect.mirror.SimpleReplicationPolicy"
Attempts:
3 left
💡 Hint
Common Mistakes
Using a non-existent or incorrect class name.
Misspelling the class path.
4fill in blank
hard

Fill both blanks to configure MirrorMaker 2 to replicate topics with a specific prefix and exclude internal topics.

Kafka
topics=[1]
topics.exclude=[2]
Drag options to blanks, or click blank then click option'
A"prefix-.*"
B"__consumer_offsets"
C"__transaction_state"
D"internal-.*"
Attempts:
3 left
💡 Hint
Common Mistakes
Using incorrect regex patterns.
Not excluding internal topics which can cause replication issues.
5fill in blank
hard

Fill all three blanks to configure MirrorMaker 2 with source, target, and replication policy settings.

Kafka
clusters=[1]
source.bootstrap.servers=[2]
replication.policy.class=[3]
Drag options to blanks, or click blank then click option'
A"source,target"
B"source.kafka:9092"
C"org.apache.kafka.connect.mirror.DefaultReplicationPolicy"
D"target.kafka:9092"
Attempts:
3 left
💡 Hint
Common Mistakes
Mixing source and target addresses.
Incorrect replication policy class name.
Wrong cluster list format.

Practice

(1/5)
1. What is the main purpose of Kafka MirrorMaker 2?
easy
A. To copy data between Kafka clusters for backup and availability
B. To create new Kafka topics automatically
C. To monitor Kafka cluster health
D. To compress Kafka messages for storage

Solution

  1. Step 1: Understand MirrorMaker 2 role

    MirrorMaker 2 is designed to replicate data from one Kafka cluster to another to ensure data safety and availability.
  2. Step 2: Compare options with MirrorMaker 2 function

    Only To copy data between Kafka clusters for backup and availability describes copying data between clusters, which matches MirrorMaker 2's purpose.
  3. Final Answer:

    To copy data between Kafka clusters for backup and availability -> Option A
  4. Quick Check:

    MirrorMaker 2 purpose = Data replication [OK]
Hint: MirrorMaker 2 copies data between clusters for safety [OK]
Common Mistakes:
  • Confusing MirrorMaker 2 with monitoring tools
  • Thinking it creates topics automatically
  • Assuming it compresses messages
2. Which configuration is required to specify the source Kafka cluster in MirrorMaker 2?
easy
A. producer.bootstrap.servers
B. replica.bootstrap.servers
C. mirror.bootstrap.servers
D. consumer.bootstrap.servers

Solution

  1. Step 1: Identify source cluster connection

    MirrorMaker 2 uses consumer configs to read from the source Kafka cluster.
  2. Step 2: Match config key to source cluster

    The correct config key for source cluster is consumer.bootstrap.servers, which tells MirrorMaker 2 where to consume data from.
  3. Final Answer:

    consumer.bootstrap.servers -> Option D
  4. Quick Check:

    Source cluster = consumer.bootstrap.servers [OK]
Hint: Source cluster uses consumer.bootstrap.servers config [OK]
Common Mistakes:
  • Using producer.bootstrap.servers for source cluster
  • Confusing config keys with mirror.bootstrap.servers
  • Assuming replica.bootstrap.servers is valid
3. Given this MirrorMaker 2 config snippet:
{
  "source.cluster.bootstrap.servers": "source:9092",
  "target.cluster.bootstrap.servers": "target:9092",
  "topics": "topicA,topicB",
  "num.streams": 3
}

How many parallel streams will MirrorMaker 2 use to copy data?
medium
A. 3
B. 2
C. 1
D. 4

Solution

  1. Step 1: Locate num.streams setting

    The config sets "num.streams" to 3, which controls how many parallel streams MirrorMaker 2 uses.
  2. Step 2: Understand effect of num.streams

    More streams mean more parallelism in copying data, so MirrorMaker 2 will use 3 streams here.
  3. Final Answer:

    3 -> Option A
  4. Quick Check:

    num.streams = 3 [OK]
Hint: Check num.streams value for parallelism count [OK]
Common Mistakes:
  • Assuming default 1 stream if not read carefully
  • Confusing topics count with streams count
  • Ignoring num.streams config
4. You configured MirrorMaker 2 with:
topics = "topic1,topic2"
num.streams = 0

What is the problem with this configuration?
medium
A. topics must be a single topic, not multiple
B. num.streams cannot be zero; it must be at least 1
C. topics should be configured as a list, not a string
D. num.streams must be an even number

Solution

  1. Step 1: Check num.streams value validity

    num.streams controls parallel streams and must be at least 1 to work properly.
  2. Step 2: Identify error in config

    Setting num.streams to 0 disables streams, causing MirrorMaker 2 to fail or not copy data.
  3. Final Answer:

    num.streams cannot be zero; it must be at least 1 -> Option B
  4. Quick Check:

    num.streams ≥ 1 required [OK]
Hint: num.streams must be ≥ 1, zero disables copying [OK]
Common Mistakes:
  • Thinking topics must be single only
  • Assuming num.streams can be zero
  • Believing num.streams must be even
5. You want MirrorMaker 2 to replicate only topics starting with "logs-" from source to target cluster. Which config setting achieves this?
hard
A. "topics": "logs-*"
B. "topics": "logs-"
C. "topics.regex": "logs-.*"
D. "topics.regex": "^logs$"

Solution

  1. Step 1: Understand topic filtering in MirrorMaker 2

    MirrorMaker 2 supports filtering topics by regex using the "topics.regex" config.
  2. Step 2: Match regex to desired pattern

    To match all topics starting with "logs-", the regex "logs-.*" correctly matches any topic beginning with "logs-".
  3. Step 3: Compare options

    "topics": "logs-*" uses "topics" with wildcard which is not supported; "topics": "logs-" matches exact topic name; "topics.regex": "^logs$" matches only "logs" exactly.
  4. Final Answer:

    "topics.regex": "logs-.*" -> Option C
  5. Quick Check:

    Use topics.regex with proper regex for filtering [OK]
Hint: Use topics.regex with regex pattern to filter topics [OK]
Common Mistakes:
  • Using wildcard * in topics instead of regex
  • Confusing exact match with regex match
  • Using incorrect regex that matches wrong 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