

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 AWS per Amazon S3 DistCp PrivateLink
<a name="migrate-data-from-an-on-premises-hadoop-environment-to-amazon-s3-using-distcp-with-aws-privatelink-for-amazon-s3"></a>

*Jason Owens, Andres Cantor, Jeff Klopfenstein, Bruno Rocha Oliveira e Samuel Schmidt, Amazon Web Services*

## Riepilogo
<a name="migrate-data-from-an-on-premises-hadoop-environment-to-amazon-s3-using-distcp-with-aws-privatelink-for-amazon-s3-summary"></a>

Questo modello dimostra come migrare quasi qualsiasi quantità di dati da un ambiente Apache Hadoop locale al cloud Amazon Web Services (AWS) utilizzando lo strumento open source Apache con [DistCp](https://hadoop.apache.org/docs/r1.2.1/distcp.html)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 [AWS PrivateLink per Amazon S3 per](https://docs.aws.amazon.com/AmazonS3/latest/userguide/privatelink-interface-endpoints.html) 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 voci DNS 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ù comunemente usato, ma sono disponibili altri strumenti di migrazione. [Ad esempio, puoi utilizzare strumenti AWS offline come AWS [Snowball o AWS Snowmobile](https://docs.aws.amazon.com/whitepapers/latest/how-aws-pricing-works/aws-snow-family.html#aws-snowball)[o strumenti AWS](https://docs.aws.amazon.com/whitepapers/latest/how-aws-pricing-works/aws-snow-family.html#aws-snowmobile) online come AWS Storage [Gateway o AWS](https://docs.aws.amazon.com/storagegateway/latest/userguide/migrate-data.html). DataSync](https://aws.amazon.com/about-aws/whats-new/2021/11/aws-datasync-hadoop-aws-storage-services/) [Inoltre, puoi utilizzare altri strumenti open source come Apache. NiFi](https://nifi.apache.org/)

## Prerequisiti e limitazioni
<a name="migrate-data-from-an-on-premises-hadoop-environment-to-amazon-s3-using-distcp-with-aws-privatelink-for-amazon-s3-prereqs"></a>

**Prerequisiti**
+ Un account AWS attivo con una connessione di rete privata tra il data center locale e il cloud AWS
+ [Hadoop](https://hadoop.apache.org/releases.html), installato in locale con [DistCp](https://hadoop.apache.org/docs/r1.2.1/distcp.html)
+ Un utente Hadoop con accesso ai dati di migrazione nell'Hadoop Distributed File System (HDFS)
+ [AWS Command Line Interface (AWS CLI)[,](https://docs.aws.amazon.com/cli/latest/userguide/getting-started-install.html) installata e configurata](https://docs.aws.amazon.com/cli/latest/userguide/cli-chap-configure.html)
+ [Autorizzazioni](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_examples_s3_rw-bucket-console.html) per inserire oggetti in un bucket S3

**Limitazioni**

Le limitazioni del cloud privato virtuale (VPC) si applicano ad AWS PrivateLink per Amazon S3. Per ulteriori informazioni, consulta [Proprietà e limitazioni degli endpoint dell'interfaccia](https://docs.aws.amazon.com/vpc/latest/privatelink/vpce-interface.html#vpce-interface-limitations) e [ PrivateLink quote AWS](https://docs.aws.amazon.com/vpc/latest/privatelink/vpc-limits-endpoints.html) ( PrivateLink documentazione AWS).

AWS PrivateLink per Amazon S3 non supporta quanto segue:
+ [Endpoint FIPS (Federal Information Processing Standard)](https://aws.amazon.com/compliance/fips/)
+ [Endpoint del sito Web](https://docs.aws.amazon.com/AmazonS3/latest/userguide/WebsiteEndpoints.html)
+ [Endpoint globali legacy](https://docs.aws.amazon.com/AmazonS3/latest/userguide/VirtualHosting.html#deprecated-global-endpoint)

## Architecture
<a name="migrate-data-from-an-on-premises-hadoop-environment-to-amazon-s3-using-distcp-with-aws-privatelink-for-amazon-s3-architecture"></a>

**Stack tecnologico di origine**
+ Cluster Hadoop con installato DistCp 

**Stack tecnologico Target**
+ Simple Storage Service (Amazon S3)
+ Amazon VPC

**Architettura di destinazione**

![Cluster Hadoop con DistCp copia dei dati dall'ambiente locale tramite Direct Connect a S3.](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/patterns/images/pattern-img/8d2b47ae-e854-4e5d-8f19-b9c2606f2c59/images/b8a249bd-307b-41ec-b939-5039d0ae7123.png)


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.

## Tools (Strumenti)
<a name="migrate-data-from-an-on-premises-hadoop-environment-to-amazon-s3-using-distcp-with-aws-privatelink-for-amazon-s3-tools"></a>

**Servizi AWS**
+ [AWS Identity and Access Management (IAM)](https://docs.aws.amazon.com/IAM/latest/UserGuide/introduction.html) ti aiuta a gestire in modo sicuro l'accesso alle tue risorse AWS controllando chi è autenticato e autorizzato a utilizzarle.
+ [Amazon Simple Storage Service (Amazon S3)](https://docs.aws.amazon.com/AmazonS3/latest/userguide/Welcome.html) è un servizio di archiviazione degli oggetti basato sul cloud che consente di archiviare, proteggere e recuperare qualsiasi quantità di dati.
+ [Amazon Virtual Private Cloud (Amazon VPC)](https://docs.aws.amazon.com/vpc/latest/userguide/what-is-amazon-vpc.html) ti aiuta a lanciare le risorse AWS 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](https://hadoop.apache.org/docs/current/hadoop-distcp/DistCp.html) (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.

## Epiche
<a name="migrate-data-from-an-on-premises-hadoop-environment-to-amazon-s3-using-distcp-with-aws-privatelink-for-amazon-s3-epics"></a>

### Migrazione dei dati nel cloud AWS
<a name="migrate-data-to-the-aws-cloud"></a>


| Operazione | Description | Competenze richieste | 
| --- | --- | --- | 
| Crea un endpoint per AWS PrivateLink per Amazon S3. | [See the AWS documentation website for more details](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/patterns/migrate-data-from-an-on-premises-hadoop-environment-to-amazon-s3-using-distcp-with-aws-privatelink-for-amazon-s3.html) | Amministratore AWS | 
| Verifica gli endpoint e trova le voci DNS. | [See the AWS documentation website for more details](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/patterns/migrate-data-from-an-on-premises-hadoop-environment-to-amazon-s3-using-distcp-with-aws-privatelink-for-amazon-s3.html) | Amministratore AWS | 
| 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. Esempio:<pre>$ telnet vpce-<your-VPC-endpoint-ID>.s3.us-east-2.vpce.amazonaws.com 443<br /><br />Trying 10.104.88.6...<br /><br />Connected to vpce-<your-VPC-endpoint-ID>.s3.us-east-2.vpce.amazonaws.com.<br /><br />...<br /><br />$ telnet vpce-<your-VPC-endpoint-ID>.s3.us-east-2.vpce.amazonaws.com 443<br /><br />Trying 10.104.71.141...<br /><br />Connected to vpce-<your-VPC-endpoint-ID>.s3.us-east-2.vpce.amazonaws.com.</pre>Se utilizzi la voce Regionale, un test riuscito mostra che il DNS si alterna 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 è possibile utilizzare 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](https://hadoop.apache.org/docs/stable/hadoop-aws/tools/hadoop-aws/index.html#Introducing_the_Hadoop_S3A_client.)).<br />Scegliete una delle seguenti opzioni di configurazione:[See the AWS documentation website for more details](http://docs.aws.amazon.com/it_it/prescriptive-guidance/latest/patterns/migrate-data-from-an-on-premises-hadoop-environment-to-amazon-s3-using-distcp-with-aws-privatelink-for-amazon-s3.html) | Amministratore AWS | 
| 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](https://hadoop.apache.org/docs/stable/hadoop-aws/tools/hadoop-aws/index.html#Authenticating_with_S3) 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)](https://hadoop.apache.org/docs/r3.1.1/hadoop-aws/tools/hadoop-aws/index.html#hadoop_credential_providers). Per ulteriori informazioni su altri metodi di autenticazione, consulta [How to get credentials of an IAM role for use with CLI access a un account AWS nella documentazione di AWS](https://docs.aws.amazon.com/singlesignon/latest/userguide/howtogetcredentials.html) IAM Identity Center (successore di AWS Single Sign-On).<br />Per utilizzare credenziali temporanee, aggiungi le credenziali temporanee al file delle credenziali o esegui i seguenti comandi per esportare le credenziali nel tuo ambiente:<pre>export AWS_SESSION_TOKEN=SECRET-SESSION-TOKEN<br />export AWS_ACCESS_KEY_ID=SESSION-ACCESS-KEY<br />export AWS_SECRET_ACCESS_KEY=SESSION-SECRET-KEY</pre><br />Se disponi di una combinazione di chiave di accesso tradizionale e chiave segreta, esegui i seguenti comandi:<pre>export AWS_ACCESS_KEY_ID=my.aws.key<br />export AWS_SECRET_ACCESS_KEY=my.secret.key</pre>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"`. | Amministratore AWS | 
| Trasferisci dati utilizzando DistCp. | Da utilizzare DistCp per trasferire dati, esegui i seguenti comandi:<pre>hadoop distcp -Dfs.s3a.aws.credentials.provider=\<br />"org.apache.hadoop.fs.s3a.TemporaryAWSCredentialsProvider" \<br />-Dfs.s3a.access.key="${AWS_ACCESS_KEY_ID}" \<br />-Dfs.s3a.secret.key="${AWS_SECRET_ACCESS_KEY}" \<br />-Dfs.s3a.session.token="${AWS_SESSION_TOKEN}" \<br />-Dfs.s3a.path.style.access=true \<br />-Dfs.s3a.connection.ssl.enabled=true \<br />-Dfs.s3a.endpoint=s3.<your-aws-region>.amazonaws.com \<br />hdfs:///user/root/ s3a://<your-bucket-name></pre>La regione AWS dell'endpoint non viene rilevata automaticamente quando usi il DistCp comando con 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 AWS del bucket S3. Per ulteriori informazioni, consulta [S3A per aggiungere l'opzione fs.s3a.endpoint.region per impostare la regione](https://issues.apache.org/jira/browse/HADOOP-17705) AWS (sito Web Hadoop).<br />[Per ulteriori informazioni su provider S3A aggiuntivi, consulta Configurazione generale del client S3A (sito Web Hadoop).](https://hadoop.apache.org/docs/stable/hadoop-aws/tools/hadoop-aws/index.html#General_S3A_Client_configuration) Ad esempio, se utilizzi la crittografia, puoi aggiungere la seguente opzione alla serie di comandi di cui sopra a seconda del tipo di crittografia:<pre>-Dfs.s3a.server-side-encryption-algorithm=AES-256 [or SSE-C or SSE-KMS]</pre>Per utilizzare l'endpoint di interfaccia con S3A, è necessario creare una voce alias DNS per il nome regionale S3 (ad esempio,`s3.<your-aws-region>.amazonaws.com`) sull'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.<br />Se hai problemi di firma con Amazon S3, aggiungi un'opzione per utilizzare la firma Signature Version 4 (SigV4):<pre>-Dmapreduce.map.java.opts="-Dcom.amazonaws.services.s3.enableV4=true"</pre> | Ingegnere addetto alla migrazione, amministratore AWS | 