Help us improve the AWS re:Post Knowledge Center by sharing your feedback in a brief survey. Your input can influence how we create and update our content to better support your AWS journey.
Wie übertrage ich Daten zwischen Amazon-MSK-Clustern in verschiedenen Konten mit MirrorMaker 2, das auf MSK Connect ausgeführt wird?
Ich möchte MirrorMaker 2.0 (MM2) verwenden, das auf MSK Connect ausgeführt wird, um Daten zwischen Amazon Managed Streaming für Apache Kafka (Amazon MSK)-Clustern in verschiedenen AWS-Konten zu übertragen.
Lösung
VPC-Peering einrichten
Wenn sich die Amazon-MSK-Cluster in verschiedenen Amazon Virtual Private Clouds (Amazon VPC) befinden, musst du eine VPC-Peering-Verbindung herstellen.
Die Sicherheitsgruppen, die dem Amazon-MSK-Quell-Cluster zugeordnet sind, müssen den gesamten Datenverkehr aus den Sicherheitsgruppen des Ziel-Clusters zulassen. Die Sicherheitsgruppen des Ziel-Clusters müssen auch den gesamten Datenverkehr aus den Sicherheitsgruppen des Quell-Clusters von Amazon MSK zulassen. Weitere Informationen findest du unter Aktualisieren der Sicherheitsgruppen, um auf Peer-Sicherheitsgruppen zu verweisen.
Hinweis: Um auf eine Sicherheitsgruppe in einem anderen Konto zu verweisen, gib die Kontonummer in das Feld Quelle oder Ziel ein.
Einen Plug-in mit MM2-Plug-in-Informationen erstellen
Hinweis: Benutzerdefinierte MSK-Connect-Plug-ins akzeptieren eine Datei oder einen Ordner mit einem JAR- oder ZIP-Format.
Führe die folgenden Schritte aus:
-
Führe die folgenden Befehle aus, um einen Testordner zu erstellen und den Ordner anschließend zu komprimieren:
mkdir mm2 zip mm2.zip mm2 -
Lade das ZIP-Objekt in den Amazon Simple Storage Service (Amazon S3)-Bucket im Zielkonto hoch:
aws s3 cp mm2.zip s3://mytestbucket/Hinweis: Ersetze s3://mytestbucket/ durch deine Amazon-S3-Bucket-URL.
Apache Kafka und MSK Connect verfügen über integrierte MirrorMaker-Bibliotheken, sodass du für diese Funktion keine zusätzlichen JAR-Dateien hinzufügen musst. -
Verwende im Zielkonto die ZIP-Datei, um ein benutzerdefiniertes Plug-in zu erstellen, und benenne die Datei mm2-connect-plugin.
Hinweis: Wenn du MSK Connect verwendest, benötigst du bei der Connector-Erstellung ein benutzerdefiniertes Plug-in.
Erstellen eines MSK-Connect-Konnektors im Zielkonto
Führe die folgenden Schritte aus:
-
Öffne die Amazon-MSK-Konsole.
-
Wähle im Navigationsbereich unter MSK Connect die Option Konnektoren aus.
-
Wähle Konnektor erstellen aus.
-
Wähle Vorhandenes benutzerdefiniertes Plug-in nutzen.
-
Wähle unter Benutzerdefiniertes Plug-in das benutzerdefinierte Plug-in aus, das du erstellt hast, und klicke dann auf Weiter.
-
Gib einen Namen für den Konnektor ein.
(Optional) Gib eine Beschreibung ein. -
Wähle aus der Liste der Cluster den Zielcluster aus.
-
Füge eine Konfiguration ähnlich dem folgenden Beispiel in das Konnektor-Konfigurationsfeld ein:
connector.class=org.apache.kafka.connect.mirror.MirrorSourceConnector tasks.max=1 clusters=primary,replica source.cluster.alias=primary target.cluster.alias=replica topics=example.* replication.factor=2 topic.creation.default.replication.factor=2 topic.creation.default.partitions=2 consumer.group.id=mm2-connector refresh.groups.interval.seconds=20 refresh.topics.interval.seconds=20 sync.topic.configs.interval.seconds=20 sync.topic.acls.interval.seconds=20 producer.enable.idempotence=true transforms=renameTopic transforms.renameTopic.type=org.apache.kafka.connect.transforms.RegexRouter transforms.renameTopic.regex=primary.(.*) transforms.renameTopic.replacement=$1 key.converter=org.apache.kafka.connect.converters.ByteArrayConverter value.converter=org.apache.kafka.connect.converters.ByteArrayConverter # Source cluster options source.cluster.bootstrap.servers= source.cluster.security.protocol=PLAINTEXT # Target cluster options target.cluster.bootstrap.servers= target.cluster.security.protocol=PLAINTEXT -
Lege die Kapazität für deinen Konnektor fest.
-
Wähle unter Worker-Konfiguration die Option **MSK-Standardkonfiguration verwenden ** aus.
-
Wähle unter Zugriffsberechtigungen die AWS Identity and Access Management (IAM)-Rolle aus, welche die erforderlichen Berechtigungen für MSK Connect bietet. Wähle dann Weiter.
-
Wähle auf der Seite Sicherheit unter Verschlüsselung – während der Übertragung die Option Klartextdatenverkehr aus. Wähle dann Weiter.
-
(Optional) Lege auf der Seite Protokolle die Protokollübermittlung fest. Wähle dann Weiter.
-
Wähle unter Überprüfen und erstellen die Option Konnektor erstellen aus.
Hinweis: Mit der vorherigen Konfiguration erstellt MM2 zwei Themen im Zielcluster, um die einzelnen Themen aus dem Quellcluster zu replizieren. Wenn du beispielsweise das Thema exampleTopic1 auf dem Quellcluster hast, erstellt MM2 die Themen primary.exampleTopic1 und exampleTopic1 auf dem Zielcluster. Dann leitet MM2 Nachrichten an das Thema exampleTopic1 weiter.
Erstellen einer Client-Instance
Du musst eine Client-Instance erstellen, um Themen zu erstellen und Daten aus Themen zu erzeugen oder zu nutzen.
Führe die folgenden Schritte aus:
-
Starte eine Amazon Elastic Compute Cloud (Amazon EC2)-Instance und stelle dann eine Verbindung mit der Instance her.
-
Führe den folgenden Befehl aus, um Java auf dem Client-Computer zu installieren:
sudo yum -y install java-11 -
Führe den folgenden Befehl aus, um Apache Kafka herunterzuladen:
wget https://archive.apache.org/dist/kafka/2.8.1/kafka_2.12-2.8.1.tgz tar -xzf kafka_2.12-2.8.1.tgz -
Erstelle das Thema exampletopic1 im Amazon-MSK-Cluster im Quellkonto:
kafka-installation-path/bin/kafka-topics.sh --create --bootstrap-server SourceMSKclusterBootstrapServerString --replication-factor 3 --partitions 1 --topic exampletopic1Hinweis: Ersetze kafka-installation-path durch den Pfad, in dem du Kafka auf dem System installiert hast. Ersetze SourceMSKclusterBootstrapServerString durch die Bootstrap-Serverzeichenfolge deines Amazon-MSK-Quellclusters.
-
Produziere Daten im Cluster auf dem Quellkonto:
Kafka-installation-path/bin/kafka-console-producer.sh --broker-list SourceMSKclusterBootstrapServerString --topic exampletopic1Hinweis: Ersetze kafka-installation-path durch den Pfad, in dem du Kafka auf dem System installiert hast. Ersetze SourceMSKclusterBootstrapServerString durch die Bootstrap-Serverzeichenfolge deines Amazon-MSK-Quellclusters.
Erwartete Ausgabe:>message 1 >message 2 -
Liste die Themen im Cluster auf dem Zielkonto auf:
Kafka-installation-path/bin/kafka-topics.sh --bootstrap-server TargetMSKclusterBootstrapServerString --listHinweis: Ersetze kafka-installation-path durch den Pfad, in dem du Kafka auf dem System installiert hast. Ersetze TargetMSKclusterBootstrapServerString durch die Bootstrap-Serverzeichenfolge deines Amazon-MSK-Zielclusters.
Beispielausgabe:__amazon_msk_canary __amazon_msk_connect_configs_mm2-***** __amazon_msk_connect_offsets_mm2-***** __amazon_msk_connect_status_mm2-***** __consumer_offsets exampleTopic1 primary.exampleTopic1 -
Daten aus dem Zielcluster nutzen:
Kafka-installation-path/bin/kafka-console-consumer.sh --bootstrap-server TargetMSKclusterBootstrapServerString --topic exampletopic1 --from-beginningHinweis: Ersetze kafka-installation-path durch den Pfad, in dem du Kafka auf dem System installiert hast. Ersetze TargetMSKclusterBootstrapServerString durch die Bootstrap-Serverzeichenfolge deines Amazon-MSK-Zielclusters.
Erwartete Ausgabe:>message 1 >message 2
Ähnliche Informationen
- Themen
- Analytics
- Sprache
- Deutsch

Relevanter Inhalt
AWS OFFICIALAktualisiert vor 10 Monaten