Migrez un cluster Apache Kafka sur site vers Amazon MSK en utilisant MirrorMaker - Recommandations AWS

Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.

Migrez un cluster Apache Kafka sur site vers Amazon MSK en utilisant MirrorMaker

Créé par Han Zhang (AWS) et Tanner Pratt () AWS

Environnement : PoC ou pilote

Source : cluster Apache Kafka sur site ou autogéré

Cible : Amazon Managed Streaming pour Apache Kafka (Amazon) MSK

Type R : Replateforme

Charge de travail : open source ; toutes les autres charges de travail

Technologies : analyse ; mégadonnées ; migration

AWSservices : Amazon MSK

Récapitulatif

Ce modèle fournit des conseils pour la migration d'un cluster Apache Kafka sur site, autogéré ou hébergé vers Amazon Managed Streaming for Apache Kafka (Amazon). MSK Vous pouvez également utiliser ce modèle pour migrer d'un MSK cluster Amazon à un autre.

Apache Kafka inclut MirrorMaker cette fonctionnalité qui réplique les données entre deux clusters Kafka. MirrorMaker consiste en un ensemble de consommateurs faisant partie d'un groupe de consommateurs. Les consommateurs lisent les données des rubriques du cluster source, puis transmettent ces données aux producteurs, qui les écrivent dans le cluster cible.

La MSK documentation Amazon contient une présentation détaillée du processus d'utilisation de la MirrorMaker version 1.0 pour migrer des clusters Kafka sur site vers Amazon. MSK Ce modèle complète ces informations en proposant des step-by-step instructions complètes pour l'utilisation de MirrorMaker la version 2.0.

Conditions préalables et limitations

Prérequis

  • Un AWS compte actif

  • Un cluster source Kafka qui est l'un des suivants :

    • Dans un centre de données sur site

    • Autogéré dans le cloud

    • Hébergé par un partenaire

Limites

  • Pour utiliser MirrorMaker la version 2.0, le cluster source doit utiliser Apache Kafka version 2.4.0 ou ultérieure. Pour les versions antérieures, consultez les instructions de la MSKdocumentation Amazon afin d'utiliser MirrorMaker la version 1.0.

Versions du produit

  • MirrorMaker version 2.0

  • Apache Kafka version 2.4.0 ou ultérieure. Pour plus d'informations sur les versions d'Apache Kafka prises MSK en charge par Amazon, consultez la section Versions d'Apache Kafka prises en charge.

Architecture

Pile technologique source

  • Cluster Kafka sur site ou autogéré

Pile technologique cible

  • MSKCluster Amazon

Architecture cible

MirrorMaker lit les données du cluster source et les réplique sur le cluster Amazon MSK cible

Le schéma montre le processus suivant :

  1. MirrorMaker lit les données des sujets et des groupes de consommateurs du cluster Kafka source.

  2. MirrorMaker réplique les données et les informations relatives aux consommateurs sur le MSK cluster Amazon cible.

Outils

AWSservices

  • Amazon Elastic Compute Cloud (AmazonEC2) fournit une capacité de calcul évolutive dans le AWS cloud. Vous pouvez lancer autant de serveurs virtuels que vous le souhaitez et les augmenter ou les diminuer rapidement.

  • Amazon Managed Streaming for Apache Kafka MSK (Amazon) est un service entièrement géré qui vous permet de créer et d'exécuter des applications utilisant Apache Kafka pour traiter les données de streaming.

  • Amazon Virtual Private Cloud (AmazonVPC) vous aide à lancer AWS des ressources dans un réseau virtuel que vous avez défini. Ce réseau virtuel ressemble à un réseau traditionnel que vous exploiteriez dans votre propre centre de données, avec les avantages de l'utilisation de l'infrastructure évolutive deAWS.

Autres outils

  • Apache Kafka est une plateforme open source de streaming d'événements. Dans ce modèle, vous utilisez la MirrorMakerfonctionnalité de Kafka pour effectuer la migration entre clusters.

Bonnes pratiques

Vous pouvez MirrorMaker l'exécuter dans l'environnement source ou cible, mais il est recommandé de l'exécuter le plus près possible du cluster cible. Pour plus d'informations, consultez la section Meilleures pratiques : consommation à distance, production en local dans la documentation d'Apache Kafka.

Épopées

TâcheDescriptionCompétences requises

Créez unVPC.

  1. Créez-en un VPC dans le AWS compte cible. Pour obtenir des instructions, voir Créer un VPC.

  2. Créez trois sous-réseaux privés dans différentes zones de disponibilité dans le nouveauVPC. Pour obtenir des instructions, voir Création d'un sous-réseau. L'utilisation de différentes zones de disponibilité garantit une haute disponibilité et une tolérance aux pannes.

    Remarque : Si vous utilisez une connexion Internet publique pour migrer le cluster Kafka, créez des sous-réseaux publics et activez l'accès public au cluster AmazonMSK.

AWSadministrateur système, DevOps ingénieur, administrateur cloud

Créez le MSK cluster Amazon.

Créez un MSK cluster Amazon. Pour obtenir des instructions, voir Création d'un cluster à l'aide de la console AWS de gestion ou Création d'un cluster à l'aide du AWS CLI. Configurez le cluster pour utiliser les sous-réseaux VPC et que vous avez créés précédemment.

AWSadministrateur système, DevOps ingénieur, administrateur cloud
TâcheDescriptionCompétences requises

Installez MirrorMaker.

  1. Lancez une EC2 instance.

  2. Connectez-vous à votre EC2 instance.

  3. Sur l'EC2instance, téléchargez et extrayez la dernière version de Kafka. Pour obtenir des instructions, consultez Quick Start (documentation Kafka).

Remarque : Dans ce modèle, vous installez la MirrorMaker version 2.0 en tant que MirrorMaker cluster dédié sur une EC2 instance Amazon. Cette option est acceptable pour les environnements de développement et constitue l'approche utilisée dans ce modèle. Pour plus d'informations sur les autres options de déploiement pour la MirrorMaker version 2.0, consultez la section Informations supplémentaires de ce modèle.

AWSadministrateur système, administrateur cloud, DevOps ingénieur

Spécifiez les informations du cluster Kafka.

Dans le bin dossier d'installation du client Kafka, créez un fichier mm2.properties et configurez-le pour votre cluster Kafka source. Pour obtenir des instructions, consultez Exécuter un MirrorMaker cluster dédié (documentation Kafka).

AWSadministrateur système, administrateur cloud, DevOps ingénieur

Démarrer MirrorMaker.

Entrez la commande suivante pour démarrer MirrorMaker et transmettre le fichier mm2.properties.

$ ./bin/connect-mirror-maker.sh mm2.properties
AWSadministrateur système, administrateur cloud, DevOps ingénieur

Surveillez les progrès.

Vérifiez la progression en vérifiant le décalage entre le dernier décalage pour chaque sujet et le décalage actuel pour le sujet MirrorMaker consommé. Pour obtenir des instructions, consultez la section Surveillance de la géoréplication dans la documentation de Kafka.

AWSadministrateur système, administrateur cloud, DevOps ingénieur
TâcheDescriptionCompétences requises

Arrêtez les applications destinées aux consommateurs.

Arrêtez toutes les applications grand public qui consomment les données du cluster source.

Développeur d'applications

Démarrez les applications destinées aux consommateurs.

Modifiez la configuration du bootstrap de l'application pour qu'elle pointe vers le cluster de destination. Commencez ensuite à consommer sur le cluster cible.

Développeur d'applications

Arrêtez les producteurs du cluster source.

Lorsque les applications grand public sont consommées avec succès sur le cluster cible, arrêtez les producteurs sur le cluster source.

Développeur d'applications

Démarrez les producteurs sur le cluster cible.

Modifiez la configuration des serveurs bootstrap du producteur et pointez sur le cluster cible. Attendez la fin MirrorMaker de la mise en miroir de toutes les données du cluster source avant de démarrer les producteurs.

Développeur d'applications

Arrête MirrorMaker.

Une fois que les producteurs ont déménagé vers le cluster cible, arrêtez MirrorMaker.

AWSadministrateur système, administrateur cloud, DevOps ingénieur

Ressources connexes

AWSressources

Autres ressources

Informations supplémentaires

Ce modèle exécute la MirrorMaker version 2.0 en tant que MirrorMaker cluster dédié sur AmazonEC2. Cette option est acceptable pour les environnements de développement. Bien que cela ne soit pas abordé dans ce modèle, vous pouvez également exécuter la MirrorMaker version 2.0 dans un cluster Kafka Connect. Cette option de déploiement utilise un framework au sein de l'écosystème Kafka qui améliore le dimensionnement et la maintenance. Vous déployez le connecteur dans un cluster Kafka Connect avec la configuration associée pour exécuter l'application. Le connecteur peut fonctionner en mode autonome pour le développement ou les tests ou en mode distribué pour la production. Pour plus d'informations, consultez Running MirrorMaker in a Connect cluster (documentation Apache Kafka). Pour plus d'informations sur les autres options de déploiement MirrorMaker 2.0, voir Procédure pas à pas : Running MirrorMaker 2.0 (documentation Kafka).