Comment transférer des données entre des clusters Amazon MSK de différents comptes avec MirrorMaker 2 qui s'exécute sur MSK Connect ?
Je souhaite utiliser MirrorMaker 2.0 (MM2) qui s'exécute sur MSK Connect pour transférer des données entre des clusters Amazon Managed Streaming for Apache Kafka (Amazon MSK) de différents comptes AWS.
Résolution
Configurer l'appairage VPC
Lorsque les clusters Amazon MSK se trouvent dans différents clouds privés virtuels Amazon (Amazon VPC), vous devez créer une connexion d'appairage de VPC.
Les groupes de sécurité associés au cluster source Amazon MSK doivent autoriser tout le trafic provenant des groupes de sécurité du cluster cible. Les groupes de sécurité du cluster cible doivent également autoriser tout le trafic provenant des groupes de sécurité du cluster MSK. Pour plus d'informations, consultez la section Mettre à jour vos groupes de sécurité pour faire référence à des groupes de sécurité homologues.
Remarque : Pour référencer un groupe de sécurité dans un autre compte, saisissez le numéro de compte dans le champ Source ou Destination.
Créer un plug-in avec les informations du plug-in MM2
Remarque : Les plug-ins personnalisés MSK Connect acceptent les fichiers ou dossiers au format .jar ou .zip.
Procédez comme suit :
-
Pour créer un dossier de test, puis compresser le dossier, exécutez les commandes suivantes :
mkdir mm2 zip mm2.zip mm2 -
Chargez l'objet .zip dans votre compartiment Amazon Simple Storage Service (Amazon S3) dans le compte cible :
aws s3 cp mm2.zip s3://mytestbucket/Remarque : Remplacez s3://mytestbucket/ par l'URL de votre compartiment Amazon S3.
Apache Kafka et MSK Connect intégrant des bibliothèques MirrorMaker, il n’est pas nécessaire d'ajouter des fichiers .jar supplémentaires pour cette fonctionnalité. -
Dans le compte cible, utilisez le fichier .zip pour créer un plug-in personnalisé et nommez le fichier mm2-connect-plugin.
Remarque : Lorsque vous utilisez MSK Connect, vous devez disposer d'un plug-in personnalisé lors de la création du connecteur.
Créer un connecteur MSK Connect dans le compte cible
Procédez comme suit :
-
Ouvrez la console Amazon MSK.
-
Dans le volet de navigation, sous MSK Connect, choisissez Connecteurs.
-
Choisissez Créer un connecteur.
-
Choisissez Utiliser le plug-in personnalisé existant.
-
Dans Plug-ins personnalisés, sélectionnez le plug-in personnalisé que vous avez créé, puis choisissez Suivant.
-
Saisissez un nom pour le connecteur.
(Facultatif) Saisissez une description. -
Dans la liste de clusters, choisissez le cluster cible.
-
Ajoutez une configuration similaire à l'exemple suivant dans le champ de configuration du connecteur :
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 -
Définissez la capacité de votre connecteur.
-
Sous Configuration du serveur de travail, choisissez Utiliser la configuration par défaut de MSK.
-
Sous Autorisations d'accès, choisissez le rôle Gestion des identités et des accès AWS (AWS IAM) qui fournit les autorisations requises pour MSK Connect. Puis, sélectionnez Suivant.
-
Sur la page Sécurité, sous Chiffrement - en transit, sélectionnez Trafic en texte brut. Puis, sélectionnez Suivant.
-
(Facultatif) Sur la page Journaux, définissez la livraison du journal. Puis, sélectionnez Suivant.
-
Sous Réviser et créer, choisissez Créer un connecteur.
Remarque : Avec la configuration précédente, pour répliquer chaque rubrique du cluster source, MM2 crée deux rubriques dans le cluster cible. Par exemple, si la rubrique exampleTopic1 figure sur le cluster source, MM2 crée les rubriques primary.exampleTopic1 et exampleTopic1 sur le cluster cible. MM2 achemine ensuite les messages vers la rubrique exampleTopic1.
Créer une instance client
Vous devez créer une instance client pour créer des rubriques et produire ou utiliser des données à partir des rubriques.
Procédez comme suit :
-
Lancez une instance Amazon Elastic Compute Cloud (Amazon EC2), puis connectez-vous à l'instance.
-
Pour installer Java sur l'ordinateur client, exécutez la commande suivante :
sudo yum -y install java-11 -
Pour télécharger Apache Kafka, exécutez la commande suivante :
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 -
Créez la rubrique exampletopic1 dans le cluster Amazon MSK dans le compte source :
kafka-installation-path/bin/kafka-topics.sh --create --bootstrap-server SourceMSKclusterBootstrapServerString --replication-factor 3 --partitions 1 --topic exampletopic1Remarque : Remplacez kafka-installation-path par le chemin où Kafka est installé sur votre système. Remplacez SourceMSKclusterBootstrapServerString par la chaîne de serveur Bootstrap de votre cluster Amazon MSK source.
-
Produisez des données dans le cluster sur le compte source :
Kafka-installation-path/bin/kafka-console-producer.sh --broker-list SourceMSKclusterBootstrapServerString --topic exampletopic1Remarque : Remplacez kafka-installation-path par le chemin où Kafka est installé sur votre système. Remplacez SourceMSKclusterBootstrapServerString par la chaîne de serveur Bootstrap de votre cluster Amazon MSK source.
Sortie attendue :>message 1 >message 2 -
Répertoriez les rubriques du cluster sur le compte cible :
Kafka-installation-path/bin/kafka-topics.sh --bootstrap-server TargetMSKclusterBootstrapServerString --listRemarque : Remplacez kafka-installation-path par le chemin où Kafka est installé sur votre système. Remplacez TargetMSKclusterBootstrapServerString par la chaîne de serveur Bootstrap de votre cluster Amazon MSK cible.
Exemple de sortie :__amazon_msk_canary __amazon_msk_connect_configs_mm2-***** __amazon_msk_connect_offsets_mm2-***** __amazon_msk_connect_status_mm2-***** __consumer_offsets exampleTopic1 primary.exampleTopic1 -
Consommez les données du cluster cible :
Kafka-installation-path/bin/kafka-console-consumer.sh --bootstrap-server TargetMSKclusterBootstrapServerString --topic exampletopic1 --from-beginningRemarque : Remplacez kafka-installation-path par le chemin où Kafka est installé sur votre système. Remplacez TargetMSKclusterBootstrapServerString par la chaîne de serveur Bootstrap de votre cluster Amazon MSK cible.
Sortie attendue :>message 1 >message 2
Informations connexes
- Sujets
- Analytics
- Langue
- Français

Contenus pertinents
- demandé il y a un an
- demandé il y a 8 mois
- demandé il y a 3 ans
- demandé il y a 3 ans
AWS OFFICIELA mis à jour il y a 8 mois