Esegui la migrazione dei dati da un ambiente Hadoop locale ad Amazon S3 utilizzando with for Amazon S3 DistCp AWS PrivateLink - Prontuario AWS

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à.

Esegui la migrazione dei dati da un ambiente Hadoop locale ad Amazon S3 utilizzando with for Amazon S3 DistCp AWS PrivateLink

Creato da Jason Owens (AWS), Andres Cantor (), Jeff Klopfenstein (AWS), Bruno Rocha Oliveira () e Samuel Schmidt (AWS) AWS AWS

Ambiente: produzione

Fonte: Hadoop

Obiettivo: Qualsiasi

Tipo R: Replatform

Carico di lavoro: open source

Tecnologie: archiviazione e backup; analisi

AWSservizi: Amazon S3; Amazon EMR

Questo modello dimostra come migrare quasi ogni quantità di dati da un ambiente Apache Hadoop locale al cloud Amazon Web Services (AWS) utilizzando lo strumento DistCpopen source Apache AWS PrivateLink per Amazon Simple Storage Service (Amazon S3). Invece di utilizzare la rete Internet pubblica o una soluzione proxy per migrare i dati, puoi utilizzare Amazon S3 AWS PrivateLink per migrare i dati su Amazon S3 tramite una connessione di rete privata tra il tuo data center locale e un Amazon Virtual Private Cloud (Amazon). VPC Se utilizzi DNS voci in Amazon Route 53 o aggiungi voci nel file /etc/hosts in tutti i nodi del tuo cluster Hadoop locale, verrai indirizzato automaticamente all'endpoint di interfaccia corretto.

Questa guida fornisce istruzioni per l'uso DistCp per la migrazione dei dati nel cloud. AWS DistCp è lo strumento più utilizzato, ma sono disponibili altri strumenti di migrazione. Ad esempio, puoi utilizzare AWS strumenti offline come AWSSnowball o AWSSnowmobile o strumenti online come AWS Storage Gateway AWS o. AWS DataSync Inoltre, puoi utilizzare altri strumenti open source come Apache. NiFi

Prerequisiti

Limitazioni

Le limitazioni del cloud privato virtuale (VPC) si applicano AWS PrivateLink ad Amazon S3. Per ulteriori informazioni, consulta Proprietà e limitazioni e AWS PrivateLink quote degli endpoint dell'interfaccia (AWS PrivateLink documentazione).

AWS PrivateLink per Amazon S3 non supporta quanto segue:

Stack tecnologico di origine

  • Cluster Hadoop con installato DistCp

Stack tecnologico Target

  • Amazon S3

  • Amazon VPC

Architettura Target

Cluster Hadoop con DistCp copia dei dati dall'ambiente locale tramite Direct Connect a S3.

Il diagramma mostra come l'amministratore Hadoop utilizza DistCp per copiare i dati da un ambiente locale tramite una connessione di rete privata, come AWS Direct Connect, ad Amazon S3 tramite un endpoint di interfaccia Amazon S3.

AWSservizi

  • AWSIdentity and Access Management (IAM) consente di gestire in modo sicuro l'accesso alle AWS risorse controllando chi è autenticato e autorizzato a utilizzarle.

  • Amazon Simple Storage Service (Amazon S3) è un servizio di archiviazione degli oggetti basato sul cloud che consente di archiviare, proteggere e recuperare qualsiasi quantità di dati.

  • Amazon Virtual Private Cloud (AmazonVPC) ti aiuta a lanciare AWS risorse in una rete virtuale che hai definito. Questa rete virtuale è simile a una rete tradizionale che gestiresti nel tuo data center, con i vantaggi dell'utilizzo dell'infrastruttura scalabile di. AWS

Altri strumenti

  • Apache Hadoop DistCp (copia distribuita) è uno strumento utilizzato per copiare intercluster e intracluster di grandi dimensioni. DistCp utilizza MapReduce Apache per la distribuzione, la gestione e il ripristino degli errori e la segnalazione.

AttivitàDescrizioneCompetenze richieste

Crea un endpoint AWS PrivateLink per Amazon S3.

  1. Accedi alla console di AWS gestione e apri la VPCconsole Amazon.

  2. Nel riquadro di navigazione, scegli Endpoints, quindi scegli Crea endpoint.

  3. Per Service category (Categoria servizio), scegli AWS services.

  4. Nella casella di ricerca, inserisci s3, quindi premi Invio.

  5. Nei risultati della ricerca, scegli com.amazonaws. < your-aws-region >.s3 nome di servizio in cui il valore nella colonna Tipo è Interfaccia.

  6. Perché VPC, scegli il tuo. VPC Per Sottoreti, scegli le tue sottoreti.

  7. Per il gruppo di sicurezza, scegli o crea un gruppo di sicurezza che consenta 443. TCP

  8. Aggiungi tag in base alle tue esigenze, quindi scegli Crea endpoint.

AWSamministratore

Verifica gli endpoint e trova le DNS voci.

  1. Apri la VPCconsole Amazon, scegli Endpoints, quindi seleziona l'endpoint che hai creato in precedenza.

  2. Nella scheda Dettagli, trova la prima DNS voce relativa ai DNS nomi. Questa è la DNS voce regionale. Quando si utilizza questo DNS nome, le richieste si alternano tra le DNS voci specifiche delle zone di disponibilità.

  3. Scegli la scheda Subnet. È possibile trovare l'indirizzo dell'interfaccia di rete elastica dell'endpoint in ciascuna zona di disponibilità.

AWSamministratore

Controlla le regole del firewall e le configurazioni di routing.

Per verificare che le regole del firewall siano aperte e che la configurazione di rete sia impostata correttamente, utilizzate Telnet per testare l'endpoint sulla porta 443. Per esempio:

$ telnet vpce-<your-VPC-endpoint-ID>.s3.us-east-2.vpce.amazonaws.com 443 Trying 10.104.88.6... Connected to vpce-<your-VPC-endpoint-ID>.s3.us-east-2.vpce.amazonaws.com. ... $ telnet vpce-<your-VPC-endpoint-ID>.s3.us-east-2.vpce.amazonaws.com 443 Trying 10.104.71.141... Connected to vpce-<your-VPC-endpoint-ID>.s3.us-east-2.vpce.amazonaws.com.

Nota: se utilizzi la voce Regionale, un test riuscito mostra che DNS si alternano tra i due indirizzi IP che puoi vedere nella scheda Subnet per l'endpoint selezionato nella console Amazon. VPC

Amministratore di rete, amministratore AWS

Configura la risoluzione dei nomi.

È necessario configurare la risoluzione dei nomi per consentire a Hadoop di accedere all'endpoint dell'interfaccia Amazon S3. Non puoi usare il nome dell'endpoint stesso. È invece necessario risolvere <your-bucket-name>.s3.<your-aws-region>.amazonaws.com o*.s3.<your-aws-region>.amazonaws.com. Per ulteriori informazioni su questa limitazione di denominazione, vedere Introduzione al client Hadoop S3A (sito Web Hadoop).

Scegliete una delle seguenti opzioni di configurazione:

  • Utilizza in locale DNS per risolvere l'indirizzo IP privato dell'endpoint. È possibile sovrascrivere il comportamento di tutti i bucket o di quelli selezionati. Per ulteriori informazioni, consulta «Opzione 2: accesso ad Amazon S3 utilizzando Domain Name System Response Policy Zones (DNSRPZ)» in Accesso ibrido sicuro ad Amazon S3 AWS PrivateLink utilizzando AWS (post del blog).

  • Configura in locale DNS per inoltrare in modo condizionale il traffico agli endpoint in entrata del resolver in. VPC Il traffico viene inoltrato alla Route 53. Per ulteriori informazioni, consulta «Opzione 3: inoltro di DNS richieste da locali utilizzando Amazon Route 53 Resolver Inbound Endpoints» in Accesso ibrido sicuro ad Amazon S3 utilizzando (post del blog). AWS PrivateLink AWS

  • Modifica il file /etc/hosts su tutti i nodi del tuo cluster Hadoop. Questa è una soluzione temporanea per i test e non è consigliata per la produzione. Per modificare il file /etc/hosts, aggiungete una voce per una delle due opzioni o. <your-bucket-name>.s3.<your-aws-region>.amazonaws.com s3.<your-aws-region>.amazonaws.com Il file /etc/hosts non può avere più indirizzi IP per una voce. È necessario scegliere un singolo indirizzo IP da una delle zone di disponibilità, che diventa quindi un singolo punto di errore.

AWSamministratore

Configura l'autenticazione per Amazon S3.

Per l'autenticazione su Amazon S3 tramite Hadoop, consigliamo di esportare le credenziali temporanee dei ruoli nell'ambiente Hadoop. Per ulteriori informazioni, consulta Autenticazione con S3 (sito Web Hadoop). Per i lavori di lunga durata, puoi creare un utente e assegnare una policy con le autorizzazioni per inserire i dati solo in un bucket S3. La chiave di accesso e la chiave segreta possono essere archiviate su Hadoop, accessibili solo al DistCp lavoro stesso e all'amministratore Hadoop. Per ulteriori informazioni sull'archiviazione dei segreti, vedere Archiviazione dei segreti con i provider di credenziali Hadoop (sito Web Hadoop). Per ulteriori informazioni su altri metodi di autenticazione, vedere Come ottenere le credenziali di un IAM ruolo da utilizzare con l'CLIaccesso a un AWS account nella documentazione di AWS IAM Identity Center (successore di Single Sign-On). AWS

Per utilizzare credenziali temporanee, aggiungi le credenziali temporanee al file delle credenziali o esegui i seguenti comandi per esportare le credenziali nel tuo ambiente:

export AWS_SESSION_TOKEN=SECRET-SESSION-TOKEN export AWS_ACCESS_KEY_ID=SESSION-ACCESS-KEY export AWS_SECRET_ACCESS_KEY=SESSION-SECRET-KEY

Se disponi di una combinazione di chiave di accesso tradizionale e chiave segreta, esegui i seguenti comandi:

export AWS_ACCESS_KEY_ID=my.aws.key export AWS_SECRET_ACCESS_KEY=my.secret.key

Nota: se utilizzi una combinazione di chiave di accesso e chiave segreta, modifica il fornitore delle credenziali nei DistCp comandi da "org.apache.hadoop.fs.s3a.TemporaryAWSCredentialsProvider" a"org.apache.hadoop.fs.s3a.SimpleAWSCredentialsProvider".

AWSamministratore

Trasferisci dati utilizzando DistCp.

Da utilizzare DistCp per trasferire dati, esegui i seguenti comandi:

hadoop distcp -Dfs.s3a.aws.credentials.provider=\ "org.apache.hadoop.fs.s3a.TemporaryAWSCredentialsProvider" \ -Dfs.s3a.access.key="${AWS_ACCESS_KEY_ID}" \ -Dfs.s3a.secret.key="${AWS_SECRET_ACCESS_KEY}" \ -Dfs.s3a.session.token="${AWS_SESSION_TOKEN}" \ -Dfs.s3a.path.style.access=true \ -Dfs.s3a.connection.ssl.enabled=true \ -Dfs.s3a.endpoint=s3.<your-aws-region>.amazonaws.com \ hdfs:///user/root/ s3a://<your-bucket-name>

Nota: la AWS regione dell'endpoint non viene rilevata automaticamente quando si utilizza il DistCp comando with AWS PrivateLink per Amazon S3. Hadoop 3.3.2 e versioni successive risolvono questo problema abilitando l'opzione per impostare in modo esplicito la regione del AWS bucket S3. Per ulteriori informazioni, consultate S3A per aggiungere l'opzione fs.s3a.endpoint.region per impostare la regione (sito Web Hadoop). AWS

Per ulteriori informazioni su provider S3A aggiuntivi, consulta Configurazione generale del client S3A (sito Web Hadoop). Ad esempio, se utilizzi la crittografia, puoi aggiungere la seguente opzione alla serie di comandi di cui sopra a seconda del tipo di crittografia:

-Dfs.s3a.server-side-encryption-algorithm=AES-256 [or SSE-C or SSE-KMS]

Nota: per utilizzare l'endpoint di interfaccia con S3A, è necessario creare una voce DNS alias per il nome regionale S3 (ad esempio,s3.<your-aws-region>.amazonaws.com) dell'endpoint dell'interfaccia. Per istruzioni, consulta la sezione Configurazione dell'autenticazione per Amazon S3. Questa soluzione alternativa è necessaria per Hadoop 3.3.2 e versioni precedenti. Le versioni future di S3A non richiederanno questa soluzione alternativa.

Se hai problemi di firma con Amazon S3, aggiungi un'opzione per utilizzare la firma Signature Version 4 (SigV4):

-Dmapreduce.map.java.opts="-Dcom.amazonaws.services.s3.enableV4=true"
Ingegnere addetto alla migrazione, amministratore AWS