Hello Gérald, I have the exact same problem. Mirrormaker 2.0 Javadocs documentation is only slated for release 2.5.0 (see https://issues.apache.org/jira/browse/KAFKA-8930).
I am also prototyping Mirrormaker 2.0 and I have successfully run the Mirrormaker 2.0 scripts (connect-mirror-maker.sh) using this config, replicating between two Kubernetes Kafka broker instances: Clusters = MC,DC MC.bootstrap.servers=172.17.5.249:32010 DC.bootstrap.servers=172.17.5.254:32000 topics=test-topic MC->DC.topics=test-topic MC->DC.enabled=true replication.factor=1 checkpoints.topic.replication.factor=1 heartbeats.topic.replication.factor=1 offset-syncs.topic.replication.factor=1 offset.storage.replication.factor=1 status.storage.replication.factor=1 config.storage.replication.factor=1 But instantiating the Java MirrorMaker 2.0 classes, the Mirrormaker 2.0 can't create its own topics (it fails with the same replication factor 3 vs 1 issue), even though the properties are set in the MirrorMakerConfig class: HashMap<String,String> mm2Props = new HashMap<>(); mm2Props.put("clusters","MC,DC"); mm2Props.put("MC.bootstrap.servers","172.17.5.249:32010"); mm2Props.put("DC.bootstrap.servers","172.17.5.254:32000"); mm2Props.put("MC->DC.topics","test-topic"); mm2Props.put("MC->DC.enabled","true"); mm2Props.put("sync.topic.acls.enabled", "false"); mm2Props.put("emit.checkpoints.interval.seconds", "1"); mm2Props.put("emit.heartbeats.interval.seconds", "1"); mm2Props.put("refresh.topics.interval.seconds", "60"); mm2Props.put("refresh.groups.interval.seconds", "60"); mm2Props.put("checkpoints.topic.replication.factor", "1"); mm2Props.put("heartbeats.topic.replication.factor", "1"); mm2Props.put("offset-syncs.topic.replication.factor", "1"); mm2Props.put("config.storage.topic.replication.factor", "1"); mm2Props.put("offset.storage.topic.replication.factor", "1"); mm2Props.put("status.storage.topic.replication.factor", "1"); mm2Props.put("replication.factor", "1"); //instantiate our new Mirrormaker 2.0 config object MirrorMakerConfig mm2Config = new MirrorMakerConfig(mm2Props); The internal topics created for this single topic (test-topic) is: On MC: mm2-configs.DC.internal mm2-offset-syncs.DC.internal mm2-offsets.DC.internal mm3-status.DC.internal On DC: MC.checkpoints.internal MC.heartbeats mm2-configs.MC.internal mm2-offsets.MC.internal mm2-status.MC.internal Thanks Pirow -----Original Message----- From: Gérald Quintana <gerald.quint...@gmail.com> Sent: Thursday, 20 February 2020 23:40 To: users@kafka.apache.org Subject: Mirror Maker 2 internal topics Hello, I am prototyping Kafka replication with Mirror Maker 2. At the beginning, I had hard times with org.apache.kafka.connect.errors.ConnectException: Error while attempting to create/find topic(s) 'mm2-offsets.dst.internal'... Caused by: java.util.concurrent.ExecutionException: org.apache.kafka.common.errors.InvalidReplicationFactorException: Replication factor: 3 larger than available brokers: 1. ... Caused by: org.apache.kafka.common.errors.InvalidReplicationFactorException: Replication factor: 3 larger than available brokers: 1. I managed to find the settings to put in mm2.properties (offset.storage.replication.factor=1), and discovered 6 internal topics. But it raises broader questions: What internal topics should I expect with MM2? What are their purpose? On which side of the replicator (source, target or both) are they? How can I tune them (topic name, replication factor...)? And more generally where can I find a mm2.properties settings documentation? Thanks for your help, Gérald