title: Kafka MirrorMaker2 topics - replication factor
body: <p>I am testing kafka mirror maker 2 in my local. Running 2 zookeepers and 2 kafka brokers. They are running as individual instance. So, 2 clusters in my local with 1 broker on each cluster. The brokers are running fine. Now, when i tries running the mirror maker on my local, running into the following issues.</p>
  
  <pre><code>[2020-02-14 16:58:18,371] ERROR [Worker clientId=connect-2, groupId=dest-mm2] Uncaught exception in herder work thread, exiting:  (org.apache.kafka.connect.runtime.distributed.DistributedHerder:290)
  org.apache.kafka.connect.errors.ConnectException: Error while attempting to create/find topic(s) 'mm2-offsets.dest.internal'
      at org.apache.kafka.connect.util.TopicAdmin.createTopics(TopicAdmin.java:262)
      at org.apache.kafka.connect.storage.KafkaOffsetBackingStore$1.run(KafkaOffsetBackingStore.java:99)
      at org.apache.kafka.connect.util.KafkaBasedLog.start(KafkaBasedLog.java:128)
      at org.apache.kafka.connect.storage.KafkaOffsetBackingStore.start(KafkaOffsetBackingStore.java:109)
      at org.apache.kafka.connect.runtime.Worker.start(Worker.java:186)
      at org.apache.kafka.connect.runtime.AbstractHerder.startServices(AbstractHerder.java:121)
      at org.apache.kafka.connect.runtime.distributed.DistributedHerder.run(DistributedHerder.java:277)
      at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:515)
      at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
      at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
      at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
      at java.base/java.lang.Thread.run(Thread.java:834)
  Caused by: java.util.concurrent.ExecutionException: org.apache.kafka.common.errors.InvalidReplicationFactorException: Replication factor: 3 larger than available brokers: 1.
      at org.apache.kafka.common.internals.KafkaFutureImpl.wrapAndThrow(KafkaFutureImpl.java:45)
      at org.apache.kafka.common.internals.KafkaFutureImpl.access$000(KafkaFutureImpl.java:32)
      at org.apache.kafka.common.internals.KafkaFutureImpl$SingleWaiter.await(KafkaFutureImpl.java:89)
      at org.apache.kafka.common.internals.KafkaFutureImpl.get(KafkaFutureImpl.java:260)
      at org.apache.kafka.connect.util.TopicAdmin.createTopics(TopicAdmin.java:229)
      ... 11 more
  Caused by: org.apache.kafka.common.errors.InvalidReplicationFactorException: Replication factor: 3 larger than available brokers: 1.
  [2020-02-14 16:58:18,371] ERROR [Worker clientId=connect-1, groupId=source-mm2] Uncaught exception in herder work thread, exiting:  (org.apache.kafka.connect.runtime.distributed.DistributedHerder:290)
  org.apache.kafka.connect.errors.ConnectException: Error while attempting to create/find topic(s) 'mm2-offsets.source.internal'
      at org.apache.kafka.connect.util.TopicAdmin.createTopics(TopicAdmin.java:262)
      at org.apache.kafka.connect.storage.KafkaOffsetBackingStore$1.run(KafkaOffsetBackingStore.java:99)
      at org.apache.kafka.connect.util.KafkaBasedLog.start(KafkaBasedLog.java:128)
      at org.apache.kafka.connect.storage.KafkaOffsetBackingStore.start(KafkaOffsetBackingStore.java:109)
      at org.apache.kafka.connect.runtime.Worker.start(Worker.java:186)
      at org.apache.kafka.connect.runtime.AbstractHerder.startServices(AbstractHerder.java:121)
      at org.apache.kafka.connect.runtime.distributed.DistributedHerder.run(DistributedHerder.java:277)
      at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:515)
      at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
      at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
      at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
      at java.base/java.lang.Thread.run(Thread.java:834)
  Caused by: java.util.concurrent.ExecutionException: org.apache.kafka.common.errors.InvalidReplicationFactorException: Replication factor: 3 larger than available brokers: 1.
      at org.apache.kafka.common.internals.KafkaFutureImpl.wrapAndThrow(KafkaFutureImpl.java:45)
      at org.apache.kafka.common.internals.KafkaFutureImpl.access$000(KafkaFutureImpl.java:32)
      at org.apache.kafka.common.internals.KafkaFutureImpl$SingleWaiter.await(KafkaFutureImpl.java:89)
      at org.apache.kafka.common.internals.KafkaFutureImpl.get(KafkaFutureImpl.java:260)
      at org.apache.kafka.connect.util.TopicAdmin.createTopics(TopicAdmin.java:229)
      ... 11 more
  Caused by: org.apache.kafka.common.errors.InvalidReplicationFactorException: Replication factor: 3 larger than available brokers: 1.
  </code></pre>
  
  <p>This error is happening since there is only one broker in my local and mirror maker is trying to create offset topics with replication factor 3. How can I set the config to change the replication factor to 1.</p>
  
  <p>I tried as below, but still the same error. not sure what is the correct config.</p>
  
  <p><strong>mm2.properties</strong>     </p>
  
  <pre><code># mm2.properties 
  name=source-&gt;dest 
  clusters=source, dest
  
  source.bootstrap.servers=localhost:9091 
  dest.bootstrap.servers=localhost:9092
  
  source-&gt;dest.enabled=true
  
  topics=test-3 groups=test-6-group 
  offsets.storage.replication.factor=1
  source.replication.factor=1 
  dest.replication.factor=1
  
  mm2-offsets.source.internal.replication.factor=1 
  mm2-offsets.dest.internal.replication.factor=1
  </code></pre>