Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.
Migrazione dei carichi di lavoro Hadoop su Amazon con EMR AWS Schema Conversion Tool
Per migrare i cluster Apache Hadoop, assicurati di utilizzare la versione 1.0.670 o successiva. AWS SCT Inoltre, acquisite familiarità con l'interfaccia a riga di comando () di. CLI AWS SCT Per ulteriori informazioni, consulta CLIRiferimento per AWS Schema Conversion Tool.
Argomenti
- Panoramica sulla migrazione
- Passaggio 1: Connect ai cluster Hadoop
- Fase 2: Impostare le regole di mappatura
- Fase 3: Creare un rapporto di valutazione
- Fase 4: Esegui la migrazione del tuo cluster Apache Hadoop su Amazon con EMR AWS SCT
- Esecuzione dello script CLI
- Gestione del progetto di migrazione dei Big Data
Panoramica sulla migrazione
L'immagine seguente mostra il diagramma dell'architettura della migrazione da Apache Hadoop ad Amazon. EMR
![Il diagramma dell'architettura della migrazione di Hadoop](images/hadoop-migration-architecture-diagram.png)
AWS SCT migra dati e metadati dal cluster Hadoop di origine a un bucket Amazon S3. Successivamente, AWS SCT utilizza i metadati Hive di origine per creare oggetti di database nel servizio Amazon EMR Hive di destinazione. Facoltativamente, puoi configurare Hive in modo che utilizzi il come metastore. AWS Glue Data Catalog In questo caso, AWS SCT migra i metadati Hive di origine in. AWS Glue Data Catalog
Quindi, puoi utilizzarli AWS SCT per migrare i dati da un bucket Amazon S3 al servizio Amazon di destinazione. EMR HDFS In alternativa, puoi lasciare i dati nel tuo bucket Amazon S3 e utilizzarli come repository di dati per i tuoi carichi di lavoro Hadoop.
Per avviare la migrazione Hapood, devi creare ed eseguire lo script. AWS SCT CLI Questo script include il set completo di comandi per eseguire la migrazione. È possibile scaricare e modificare un modello dello script di migrazione Hadoop. Per ulteriori informazioni, consulta Ottenere CLI scenari.
Assicurati che lo script includa i seguenti passaggi in modo da poter eseguire la migrazione da Apache Hadoop ad Amazon S3 e Amazon. EMR
Passaggio 1: Connect ai cluster Hadoop
Per iniziare la migrazione del tuo cluster Apache Hadoop, crea un nuovo progetto. AWS SCT Successivamente, connettiti ai cluster di origine e di destinazione. Assicurati di creare e fornire AWS le risorse di destinazione prima di iniziare la migrazione.
In questo passaggio, si utilizzano i seguenti AWS SCT CLI comandi.
CreateProject
— per creare un nuovo AWS SCT progetto.AddSourceCluster
— per connettersi al cluster Hadoop di origine del progetto. AWS SCTAddSourceClusterHive
— per connettersi al servizio Hive di origine del progetto.AddSourceClusterHDFS
— per connettersi al HDFS servizio di origine del progetto.AddTargetCluster
— per connetterti al EMR cluster Amazon di destinazione del tuo progetto.AddTargetClusterS3
— per aggiungere il bucket Amazon S3 al tuo progetto.AddTargetClusterHive
— per connetterti al servizio Hive di destinazione del tuo progettoAddTargetClusterHDFS
— per connetterti al HDFS servizio di destinazione del tuo progetto
Per esempi di utilizzo di questi AWS SCT CLI comandi, vedereConnessione ad Apache Hadoop.
Quando si esegue il comando che si connette a un cluster di origine o di destinazione, AWS SCT tenta di stabilire la connessione a questo cluster. Se il tentativo di connessione fallisce, AWS SCT interrompe l'esecuzione dei comandi dallo CLI script e visualizza un messaggio di errore.
Fase 2: Impostare le regole di mappatura
Dopo esserti connesso ai cluster di origine e di destinazione, configura le regole di mappatura. Una regola di mappatura definisce l'obiettivo di migrazione per un cluster di origine. Assicurati di impostare le regole di mappatura per tutti i cluster di origine che hai aggiunto al progetto. AWS SCT Per ulteriori informazioni sulle regole di mappatura, consulta. Mappatura dei tipi di dati in AWS Schema Conversion Tool
In questo passaggio, si utilizza il AddServerMapping
comando. Questo comando utilizza due parametri, che definiscono i cluster di origine e di destinazione. È possibile utilizzare il AddServerMapping
comando con il percorso esplicito degli oggetti del database o con i nomi di un oggetto. Come prima opzione, includi il tipo di oggetto e il suo nome. Per la seconda opzione, includete solo i nomi degli oggetti.
-
sourceTreePath
— il percorso esplicito degli oggetti del database di origine.targetTreePath
— il percorso esplicito degli oggetti del database di destinazione. -
sourceNamePath
— il percorso che include solo i nomi degli oggetti di origine.targetNamePath
— il percorso che include solo i nomi degli oggetti di destinazione.
Il seguente esempio di codice crea una regola di mappatura utilizzando percorsi espliciti per il database testdb
Hive di origine e il cluster di destinazione. EMR
AddServerMapping -sourceTreePath: 'Clusters.HADOOP_SOURCE.HIVE_SOURCE.Databases.testdb' -targetTreePath: 'Clusters.HADOOP_TARGET.HIVE_TARGET' /
È possibile utilizzare questo esempio e gli esempi seguenti in Windows. Per eseguire i CLI comandi in Linux, assicuratevi di aver aggiornato i percorsi dei file in modo appropriato per il vostro sistema operativo.
Il seguente esempio di codice crea una regola di mappatura utilizzando i percorsi che includono solo i nomi degli oggetti.
AddServerMapping -sourceNamePath: 'HADOOP_SOURCE.HIVE_SOURCE.testdb' -targetNamePath: 'HADOOP_TARGET.HIVE_TARGET' /
Puoi scegliere Amazon EMR o Amazon S3 come destinazione per il tuo oggetto di origine. Per ogni oggetto di origine, puoi scegliere solo una destinazione in un singolo AWS SCT progetto. Per modificare la destinazione di migrazione per un oggetto di origine, eliminate la regola di mappatura esistente e quindi create una nuova regola di mappatura. Per eliminare una regola di mappatura, utilizzare il comando. DeleteServerMapping
Questo comando utilizza uno dei due parametri seguenti.
sourceTreePath
— il percorso esplicito degli oggetti del database di origine.sourceNamePath
— il percorso che include solo i nomi degli oggetti di origine.
Per ulteriori informazioni sui DeleteServerMapping
comandi AddServerMapping
and, consulta la Guida AWS Schema Conversion Tool CLIdi riferimento
Fase 3: Creare un rapporto di valutazione
Prima di iniziare la migrazione, ti consigliamo di creare un rapporto di valutazione. Questo rapporto riassume tutte le attività di migrazione e descrive in dettaglio le azioni che emergeranno durante la migrazione. Per assicurarvi che la migrazione non vada a buon fine, consultate questo rapporto e risolvete le azioni da intraprendere prima della migrazione. Per ulteriori informazioni, consulta Report di valutazione.
In questo passaggio, si utilizza il CreateMigrationReport
comando. Questo comando utilizza due parametri. Il treePath
parametro è obbligatorio e il forceMigrate
parametro è facoltativo.
treePath
— il percorso esplicito degli oggetti del database di origine per i quali si salva una copia del rapporto di valutazione.forceMigrate
— se impostato sutrue
, AWS SCT continua la migrazione anche se il progetto include una HDFS cartella e una tabella Hive che fanno riferimento allo stesso oggetto. Il valore predefinito èfalse
.
È quindi possibile salvare una copia del rapporto di valutazione come file con valori separati da virgole (). PDF CSV A tale scopo, utilizzate il SaveReportPDF
comando or. SaveReportCSV
Il SaveReportPDF
comando salva una copia del rapporto di valutazione come PDF file. Questo comando utilizza quattro parametri. Il file
parametro è obbligatorio, gli altri parametri sono opzionali.
file
— il percorso del PDF file e il suo nome.filter
— il nome del filtro creato in precedenza per definire l'ambito degli oggetti di origine da migrare.treePath
— il percorso esplicito degli oggetti del database di origine per i quali salvate una copia del rapporto di valutazione.namePath
— il percorso che include solo i nomi degli oggetti di destinazione per i quali si salva una copia del rapporto di valutazione.
Il SaveReportCSV
comando salva il rapporto di valutazione in tre CSV file. Questo comando utilizza quattro parametri. Il directory
parametro è obbligatorio, gli altri parametri sono opzionali.
directory
— il percorso della cartella in cui vengono AWS SCT salvati i CSV file.filter
— il nome del filtro creato in precedenza per definire l'ambito degli oggetti di origine da migrare.treePath
— il percorso esplicito degli oggetti del database di origine per i quali salvate una copia del rapporto di valutazione.namePath
— il percorso che include solo i nomi degli oggetti di destinazione per i quali si salva una copia del rapporto di valutazione.
Il seguente esempio di codice salva una copia del rapporto di valutazione nel c:\sct\ar.pdf
file.
SaveReportPDF -file:'c:\sct\ar.pdf' /
Il seguente esempio di codice salva una copia del rapporto di valutazione come CSV file nella c:\sct
cartella.
SaveReportCSV -file:'c:\sct' /
Per ulteriori informazioni sui SaveReportCSV
comandi SaveReportPDF
and, consultate il AWS Schema Conversion Tool CLIReference
Fase 4: Esegui la migrazione del tuo cluster Apache Hadoop su Amazon con EMR AWS SCT
Dopo aver configurato il AWS SCT progetto, avvia la migrazione del cluster Apache Hadoop locale verso. Cloud AWS
In questo passaggio, si utilizzano i comandiMigrate
, MigrationStatus
e. ResumeMigration
Il Migrate
comando migra gli oggetti di origine nel cluster di destinazione. Questo comando utilizza quattro parametri. Assicurati di specificare il treePath
parametro filter
o. Gli altri parametri sono opzionali.
filter
— il nome del filtro creato in precedenza per definire l'ambito degli oggetti di origine da migrare.treePath
— il percorso esplicito degli oggetti del database di origine per i quali salvate una copia del rapporto di valutazione.forceLoad
— se impostato sutrue
, carica AWS SCT automaticamente gli alberi di metadati del database durante la migrazione. Il valore predefinito èfalse
.forceMigrate
— se impostato sutrue
, AWS SCT continua la migrazione anche se il progetto include una HDFS cartella e una tabella Hive che fanno riferimento allo stesso oggetto. Il valore predefinito èfalse
.
Il MigrationStatus
comando restituisce le informazioni sull'avanzamento della migrazione. Per eseguire questo comando, inserisci il nome del tuo progetto di migrazione per il name
parametro. Hai specificato questo nome nel CreateProject
comando.
Il ResumeMigration
comando riprende la migrazione interrotta avviata utilizzando il comando. Migrate
Il ResumeMigration
comando non utilizza parametri. Per riprendere la migrazione, è necessario connettersi ai cluster di origine e di destinazione. Per ulteriori informazioni, consulta Gestire il tuo progetto di migrazione.
Il seguente esempio di codice migra i dati dal tuo HDFS servizio di origine ad AmazonEMR.
Migrate -treePath: 'Clusters.HADOOP_SOURCE.HDFS_SOURCE' -forceMigrate: 'true' /
Esecuzione dello script CLI
Dopo aver finito di modificare AWS SCT CLI lo script, salvalo come file con estensione. .scts
Ora puoi eseguire lo script dalla app
cartella del percorso di AWS SCT installazione. A tale scopo, utilizzare il comando seguente.
RunSCTBatch.cmd --pathtoscts "C:\
script_path
\hadoop.scts"
Nell'esempio precedente, sostituisci script_path
con il percorso del file con lo CLI script. Per ulteriori informazioni sull'esecuzione CLI degli script in AWS SCT, vedereModalità script.
Gestione del progetto di migrazione dei Big Data
Dopo aver completato la migrazione, puoi salvare e modificare il tuo AWS SCT progetto per usi futuri.
Per salvare il AWS SCT progetto, usa il SaveProject
comando. Questo comando non utilizza parametri.
Il seguente esempio di codice salva il AWS SCT progetto.
SaveProject /
Per aprire il AWS SCT progetto, usa il OpenProject
comando. Questo comando utilizza un parametro obbligatorio. Per il file
parametro, inserite il percorso del file di AWS SCT progetto e il relativo nome. Avete specificato il nome del progetto nel CreateProject
comando. Assicurati di aggiungere l'.scts
estensione al nome del file di progetto per eseguire il OpenProject
comando.
Il seguente esempio di codice apre il hadoop_emr
progetto dalla c:\sct
cartella.
OpenProject -file: 'c:\sct\hadoop_emr.scts' /
Dopo aver aperto il AWS SCT progetto, non è necessario aggiungere i cluster di origine e di destinazione perché li avete già aggiunti al progetto. Per iniziare a lavorare con i cluster di origine e di destinazione, devi connetterti ad essi. A tale scopo, si utilizzano i ConnectTargetCluster
comandi ConnectSourceCluster
and. Questi comandi utilizzano gli stessi parametri dei AddTargetCluster
comandi AddSourceCluster
and. È possibile modificare CLI lo script e sostituire il nome di questi comandi lasciando l'elenco dei parametri senza modifiche.
Il seguente esempio di codice si connette al cluster Hadoop di origine.
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
' /
Il seguente esempio di codice si connette al EMR cluster Amazon di destinazione.
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' /
Nell'esempio precedente, sostituisci hadoop_address
con l'indirizzo IP del cluster Hadoop. Se necessario, configura il valore della variabile di porta. Quindi, sostituisci hadoop_user
e hadoop_password
con il nome del tuo utente Hadoop e la password per questo utente. In path\name
, inserisci il nome e il percorso del PEM file per il cluster Hadoop di origine. Per ulteriori informazioni sull'aggiunta dei cluster di origine e di destinazione, consulta. Connessione ai database Apache Hadoop con AWS Schema Conversion Tool
Dopo esserti connesso ai cluster Hadoop di origine e di destinazione, devi connetterti a Hive e ai HDFS servizi, nonché al tuo bucket Amazon S3. A tale scopo, si utilizzano i comandi,ConnectSourceClusterHive
,, ConnectSourceClusterHdfs
e. ConnectTargetClusterHive
ConnectTargetClusterHdfs
ConnectTargetClusterS3
Questi comandi utilizzano gli stessi parametri dei comandi che hai usato per aggiungere Hive e HDFS servizi e il bucket Amazon S3 al tuo progetto. Modifica lo CLI script per sostituire il Add
prefisso presente Connect
nei nomi dei comandi.