Migrer les charges de travail Hadoop vers Amazon avec EMR AWS Schema Conversion Tool - AWS Schema Conversion Tool

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.

Migrer les charges de travail Hadoop vers Amazon avec EMR AWS Schema Conversion Tool

Pour migrer des clusters Apache Hadoop, assurez-vous d'utiliser la AWS SCT version 1.0.670 ou supérieure. Familiarisez-vous également avec l'interface de ligne de commande (CLI) de AWS SCT. Pour de plus amples informations, veuillez consulter CLIRéférence pour AWS Schema Conversion Tool.

Présentation de la migration

L'image suivante montre le schéma d'architecture de la migration d'Apache Hadoop vers Amazon. EMR

Le schéma d'architecture de la migration vers Hadoop

AWS SCT migre les données et les métadonnées de votre cluster Hadoop source vers un compartiment Amazon S3. Ensuite, AWS SCT utilise vos métadonnées Hive source pour créer des objets de base de données dans le service Amazon EMR Hive cible. Vous pouvez éventuellement configurer Hive pour qu'il utilise le AWS Glue Data Catalog comme métastore. Dans ce cas, AWS SCT migre vos métadonnées Hive source vers le. AWS Glue Data Catalog

Vous pouvez ensuite les utiliser AWS SCT pour migrer les données d'un compartiment Amazon S3 vers votre EMR HDFS service Amazon cible. Vous pouvez également laisser les données dans votre compartiment Amazon S3 et les utiliser comme référentiel de données pour vos charges de travail Hadoop.

Pour démarrer la migration vers Hapood, vous devez créer et exécuter votre AWS SCT CLI script. Ce script inclut l'ensemble complet des commandes permettant d'exécuter la migration. Vous pouvez télécharger et modifier un modèle de script de migration Hadoop. Pour de plus amples informations, veuillez consulter Obtenir CLI des scénarios.

Assurez-vous que votre script inclut les étapes suivantes afin de pouvoir exécuter votre migration d'Apache Hadoop vers Amazon S3 et Amazon. EMR

Étape 1 : Connectez-vous à vos clusters Hadoop

Pour démarrer la migration de votre cluster Apache Hadoop, créez un nouveau AWS SCT projet. Connectez-vous ensuite à vos clusters source et cible. Assurez-vous de créer et de provisionner vos AWS ressources cibles avant de commencer la migration.

Au cours de cette étape, vous devez utiliser les AWS SCT CLI commandes suivantes.

  • CreateProject— pour créer un nouveau AWS SCT projet.

  • AddSourceCluster— pour vous connecter au cluster Hadoop source de votre AWS SCT projet.

  • AddSourceClusterHive— pour vous connecter au service Hive source de votre projet.

  • AddSourceClusterHDFS— pour vous connecter au HDFS service source de votre projet.

  • AddTargetCluster— pour vous connecter au EMR cluster Amazon cible de votre projet.

  • AddTargetClusterS3— pour ajouter le compartiment Amazon S3 à votre projet.

  • AddTargetClusterHive— pour vous connecter au service Hive cible de votre projet

  • AddTargetClusterHDFS— pour vous connecter au HDFS service cible de votre projet

Pour des exemples d'utilisation de ces AWS SCT CLI commandes, consultezConnexion à Apache Hadoop.

Lorsque vous exécutez la commande qui se connecte à un cluster source ou cible, AWS SCT essaie d'établir la connexion à ce cluster. Si la tentative de connexion échoue, AWS SCT arrête d'exécuter les commandes de votre CLI script et affiche un message d'erreur.

Étape 2 : configurer les règles de mappage

Après vous être connecté à vos clusters source et cible, configurez les règles de mappage. Une règle de mappage définit la cible de migration pour un cluster source. Assurez-vous de définir des règles de mappage pour tous les clusters sources que vous avez ajoutés dans votre AWS SCT projet. Pour plus d'informations sur les règles de mappage, consultezCartographie des types de données dans AWS Schema Conversion Tool.

Dans cette étape, vous devez utiliser la AddServerMapping commande. Cette commande utilise deux paramètres qui définissent les clusters source et cible. Vous pouvez utiliser la AddServerMapping commande avec le chemin explicite vers les objets de votre base de données ou avec le nom d'un objet. Pour la première option, vous devez inclure le type de l'objet et son nom. Pour la deuxième option, vous n'incluez que les noms des objets.

  • sourceTreePath— le chemin explicite vers les objets de votre base de données source.

    targetTreePath— le chemin explicite vers les objets de votre base de données cible.

  • sourceNamePath: le chemin qui inclut uniquement les noms de vos objets source.

    targetNamePath— le chemin qui inclut uniquement les noms de vos objets cibles.

L'exemple de code suivant crée une règle de mappage utilisant des chemins explicites pour la base de données testdb Hive source et le EMR cluster cible.

AddServerMapping -sourceTreePath: 'Clusters.HADOOP_SOURCE.HIVE_SOURCE.Databases.testdb' -targetTreePath: 'Clusters.HADOOP_TARGET.HIVE_TARGET' /

Vous pouvez utiliser cet exemple et les exemples suivants sous Windows. Pour exécuter les CLI commandes sous Linux, assurez-vous d'avoir mis à jour les chemins de fichiers en fonction de votre système d'exploitation.

L'exemple de code suivant crée une règle de mappage en utilisant les chemins qui incluent uniquement les noms des objets.

AddServerMapping -sourceNamePath: 'HADOOP_SOURCE.HIVE_SOURCE.testdb' -targetNamePath: 'HADOOP_TARGET.HIVE_TARGET' /

Vous pouvez choisir Amazon EMR ou Amazon S3 comme cible pour votre objet source. Pour chaque objet source, vous ne pouvez choisir qu'une seule cible dans un seul AWS SCT projet. Pour modifier la cible de migration d'un objet source, supprimez la règle de mappage existante, puis créez-en une nouvelle. Pour supprimer une règle de mappage, utilisez la DeleteServerMapping commande. Cette commande utilise l'un des deux paramètres suivants.

  • sourceTreePath— le chemin explicite vers les objets de votre base de données source.

  • sourceNamePath: le chemin qui inclut uniquement les noms de vos objets source.

Pour plus d'informations sur les DeleteServerMapping commandes AddServerMapping et, consultez la AWS Schema Conversion Tool CLIréférence.

Étape 3 : Création d'un rapport d'évaluation

Avant de commencer la migration, nous vous recommandons de créer un rapport d'évaluation. Ce rapport résume toutes les tâches de migration et détaille les actions qui apparaîtront au cours de la migration. Pour vous assurer que votre migration n'échoue pas, consultez ce rapport et abordez les mesures à prendre avant la migration. Pour de plus amples informations, veuillez consulter Rapport d’évaluation.

Dans cette étape, vous devez utiliser la CreateMigrationReport commande. Cette commande utilise deux paramètres. Le treePath paramètre est obligatoire et facultatif. forceMigrate

  • treePath— le chemin explicite vers les objets de votre base de données source pour lesquels vous enregistrez une copie du rapport d'évaluation.

  • forceMigrate— lorsque ce paramètre est défini surtrue, AWS SCT poursuit la migration même si votre projet inclut un HDFS dossier et une table Hive faisant référence au même objet. La valeur par défaut est false.

Vous pouvez ensuite enregistrer une copie du rapport d'évaluation sous forme de fichier PDF ou de fichiers de valeurs séparés par des virgules (CSV). Pour ce faire, utilisez la SaveReportCSV commande SaveReportPDF or.

La SaveReportPDF commande enregistre une copie de votre rapport d'évaluation sous forme de PDF fichier. Cette commande utilise quatre paramètres. Le file paramètre est obligatoire, les autres paramètres sont facultatifs.

  • file— le chemin d'accès au PDF fichier et son nom.

  • filter: le nom du filtre que vous avez créé auparavant pour définir l'étendue des objets source à migrer.

  • treePath— le chemin explicite vers les objets de votre base de données source pour lesquels vous enregistrez une copie du rapport d'évaluation.

  • namePath: le chemin qui inclut uniquement les noms des objets cibles pour lesquels vous enregistrez une copie du rapport d'évaluation.

La SaveReportCSV commande enregistre votre rapport d'évaluation dans trois CSV fichiers. Cette commande utilise quatre paramètres. Le directory paramètre est obligatoire, les autres paramètres sont facultatifs.

  • directory— le chemin d'accès au dossier dans lequel AWS SCT sont enregistrés les CSV fichiers.

  • filter: le nom du filtre que vous avez créé auparavant pour définir l'étendue des objets source à migrer.

  • treePath— le chemin explicite vers les objets de votre base de données source pour lesquels vous enregistrez une copie du rapport d'évaluation.

  • namePath: le chemin qui inclut uniquement les noms des objets cibles pour lesquels vous enregistrez une copie du rapport d'évaluation.

L'exemple de code suivant enregistre une copie du rapport d'évaluation dans le c:\sct\ar.pdf fichier.

SaveReportPDF -file:'c:\sct\ar.pdf' /

L'exemple de code suivant enregistre une copie du rapport d'évaluation sous forme de CSV fichiers dans le c:\sct dossier.

SaveReportCSV -file:'c:\sct' /

Pour plus d'informations sur les SaveReportCSV commandes SaveReportPDF et, consultez la AWS Schema Conversion Tool CLIréférence.

Étape 4 : migrer votre cluster Apache Hadoop vers Amazon avec EMR AWS SCT

Après avoir configuré votre AWS SCT projet, lancez la migration de votre cluster Apache Hadoop local vers le. AWS Cloud

Dans cette étape, vous devez utiliser les ResumeMigration commandes MigrateMigrationStatus, et.

La Migrate commande fait migrer vos objets source vers le cluster cible. Cette commande utilise quatre paramètres. Assurez-vous de spécifier le treePath paramètre filter ou. Les autres paramètres sont facultatifs.

  • filter: le nom du filtre que vous avez créé auparavant pour définir l'étendue des objets source à migrer.

  • treePath— le chemin explicite vers les objets de votre base de données source pour lesquels vous enregistrez une copie du rapport d'évaluation.

  • forceLoad— lorsqu'il est défini surtrue, charge AWS SCT automatiquement les arborescences de métadonnées de la base de données lors de la migration. La valeur par défaut est false.

  • forceMigrate— lorsque ce paramètre est défini surtrue, AWS SCT poursuit la migration même si votre projet inclut un HDFS dossier et une table Hive faisant référence au même objet. La valeur par défaut est false.

La MigrationStatus commande renvoie les informations relatives à la progression de la migration. Pour exécuter cette commande, entrez le nom de votre projet de migration pour le name paramètre. Vous avez indiqué ce nom dans la CreateProject commande.

La ResumeMigration commande reprend la migration interrompue que vous avez lancée à l'aide de la Migrate commande. La ResumeMigration commande n'utilise pas de paramètres. Pour reprendre la migration, vous devez vous connecter à vos clusters source et cible. Pour de plus amples informations, veuillez consulter Gestion de votre projet de migration.

L'exemple de code suivant permet de migrer les données de votre HDFS service source vers AmazonEMR.

Migrate -treePath: 'Clusters.HADOOP_SOURCE.HDFS_SOURCE' -forceMigrate: 'true' /

Exécution de votre CLI script

Une fois que vous avez terminé de modifier votre AWS SCT CLI script, enregistrez-le sous forme de fichier avec l'.sctsextension. Vous pouvez maintenant exécuter votre script depuis le app dossier correspondant à votre chemin AWS SCT d'installation. Pour cela, utilisez la commande suivante.

RunSCTBatch.cmd --pathtoscts "C:\script_path\hadoop.scts"

Dans l'exemple précédent, remplacez script_path avec le chemin d'accès à votre fichier contenant le CLI script. Pour plus d'informations sur l'exécution de CLI scripts dans AWS SCT, consultezMode script.

Gestion de votre projet de migration de mégadonnées

Une fois la migration terminée, vous pouvez enregistrer et modifier votre AWS SCT projet pour une utilisation future.

Pour enregistrer votre AWS SCT projet, utilisez la SaveProject commande. Cette commande n'utilise pas de paramètres.

L'exemple de code suivant enregistre votre AWS SCT projet.

SaveProject /

Pour ouvrir votre AWS SCT projet, utilisez la OpenProject commande. Cette commande utilise un paramètre obligatoire. Pour le file paramètre, entrez le chemin d'accès à votre fichier de AWS SCT projet et son nom. Vous avez indiqué le nom du projet dans la CreateProject commande. Assurez-vous d'ajouter l'.sctsextension au nom de votre fichier de projet pour exécuter la OpenProject commande.

L'exemple de code suivant ouvre le hadoop_emr projet depuis le c:\sct dossier.

OpenProject -file: 'c:\sct\hadoop_emr.scts' /

Après avoir ouvert votre AWS SCT projet, vous n'avez pas besoin d'ajouter les clusters source et cible, car vous les avez déjà ajoutés à votre projet. Pour commencer à travailler avec vos clusters source et cible, vous devez vous y connecter. Pour ce faire, vous devez utiliser les ConnectTargetCluster commandes ConnectSourceCluster et. Ces commandes utilisent les mêmes paramètres que les AddTargetCluster commandes AddSourceCluster et. Vous pouvez modifier votre CLI script et remplacer le nom de ces commandes en laissant la liste des paramètres inchangée.

L'exemple de code suivant permet de se connecter au cluster Hadoop source.

ConnectSourceCluster -name: 'HADOOP_SOURCE' -vendor: 'HADOOP' -host: 'hadoop_address' -port: '22' -user: 'hadoop_user' -password: 'hadoop_password' -useSSL: 'true' -privateKeyPath: 'c:\path\name.pem' -passPhrase: 'hadoop_passphrase' /

L'exemple de code suivant permet de se connecter au EMR cluster Amazon cible.

ConnectTargetCluster -name: 'HADOOP_TARGET' -vendor: 'AMAZON_EMR' -host: 'ec2-44-44-55-66.eu-west-1.EXAMPLE.amazonaws.com' -port: '22' -user: 'emr_user' -password: 'emr_password' -useSSL: 'true' -privateKeyPath: 'c:\path\name.pem' -passPhrase: '1234567890abcdef0!' -s3Name: 'S3_TARGET' -accessKey: 'AKIAIOSFODNN7EXAMPLE' -secretKey: 'wJalrXUtnFEMI/K7MDENG/bPxRfiCYEXAMPLEKEY' -region: 'eu-west-1' -s3Path: 'doc-example-bucket/example-folder' /

Dans l'exemple précédent, remplacez hadoop_address avec l'adresse IP de votre cluster Hadoop. Si nécessaire, configurez la valeur de la variable de port. Ensuite, remplacez hadoop_user and hadoop_password avec le nom de votre utilisateur Hadoop et le mot de passe de cet utilisateur. Dans path\name, entrez le nom et le chemin du PEM fichier pour votre cluster Hadoop source. Pour plus d'informations sur l'ajout de vos clusters source et cible, consultezConnexion aux bases de données Apache Hadoop à l'aide du AWS Schema Conversion Tool.

Après vous être connecté à vos clusters Hadoop source et cible, vous devez vous connecter à votre Hive et à vos HDFS services, ainsi qu'à votre compartiment Amazon S3. Pour ce faire, vous devez utiliser les ConnectTargetClusterS3 commandes ConnectSourceClusterHive ConnectSourceClusterHdfsConnectTargetClusterHive,ConnectTargetClusterHdfs,, et. Ces commandes utilisent les mêmes paramètres que les commandes que vous avez utilisées pour ajouter Hive et HDFS services, ainsi que le bucket Amazon S3 à votre projet. Modifiez le CLI script pour remplacer le Add préfixe par Connect le nom des commandes.