

As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.

# Migre dados de um ambiente Hadoop local para o Amazon S3 usando com a AWS para o 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*

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

Esse padrão demonstra como migrar praticamente qualquer quantidade de dados de um ambiente Apache Hadoop local para a nuvem da Amazon Web Services (AWS) usando a ferramenta de código aberto Apache com a [DistCp](https://hadoop.apache.org/docs/r1.2.1/distcp.html)AWS PrivateLink para o Amazon Simple Storage Service (Amazon S3). Em vez de usar a Internet pública ou uma solução de proxy para migrar dados, você pode usar a [AWS PrivateLink para Amazon S3 para migrar dados para o Amazon](https://docs.aws.amazon.com/AmazonS3/latest/userguide/privatelink-interface-endpoints.html) S3 por meio de uma conexão de rede privada entre seu datacenter local e uma Amazon Virtual Private Cloud (Amazon VPC). Se você usar entradas de DNS no Amazon Route 53 ou adicionar entradas no arquivo **/etc/hosts** em todos os nós do seu cluster Hadoop on-premises, você será automaticamente direcionado para o endpoint correto da interface.

Este guia fornece instruções de uso DistCp para migrar dados para a nuvem da AWS. DistCp é a ferramenta mais usada, mas outras ferramentas de migração estão disponíveis. [Por exemplo, você pode usar ferramentas off-line da AWS, como [AWS Snowball ou AWS Snowmobile](https://docs.aws.amazon.com/whitepapers/latest/how-aws-pricing-works/aws-snow-family.html#aws-snowball)[, ou ferramentas online da AWS](https://docs.aws.amazon.com/whitepapers/latest/how-aws-pricing-works/aws-snow-family.html#aws-snowmobile), como AWS Storage [Gateway ou 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/) Além disso, você pode usar outras ferramentas de código aberto, como o [ NiFiApache](https://nifi.apache.org/).

## Pré-requisitos e limitações
<a name="migrate-data-from-an-on-premises-hadoop-environment-to-amazon-s3-using-distcp-with-aws-privatelink-for-amazon-s3-prereqs"></a>

**Pré-requisitos **
+ Uma conta AWS ativa com uma conexão de rede privada entre seu datacenter on-premises e a Nuvem AWS
+ [Hadoop](https://hadoop.apache.org/releases.html), instalado localmente com [DistCp](https://hadoop.apache.org/docs/r1.2.1/distcp.html)
+ Um usuário do Hadoop com acesso aos dados de migração no Sistema de Arquivos Distribuído do Hadoop (HDFS)
+ AWS Command Line Interface (AWS CLI), [instalada](https://docs.aws.amazon.com/cli/latest/userguide/getting-started-install.html) e [configurada](https://docs.aws.amazon.com/cli/latest/userguide/cli-chap-configure.html)
+ [Permissões](https://docs.aws.amazon.com/IAM/latest/UserGuide/reference_policies_examples_s3_rw-bucket-console.html) para colocar objetos em um bucket do S3

**Limitações**

As limitações da nuvem privada virtual (VPC) se aplicam à AWS PrivateLink para o Amazon S3. Para obter mais informações, consulte [Propriedades e limitações do endpoint da interface e PrivateLink ](https://docs.aws.amazon.com/vpc/latest/privatelink/vpce-interface.html#vpce-interface-limitations) [cotas da AWS](https://docs.aws.amazon.com/vpc/latest/privatelink/vpc-limits-endpoints.html) ( PrivateLink documentação da AWS).

A AWS PrivateLink para Amazon S3 não oferece suporte ao seguinte:
+ [Endpoints do Federal Information Processing Standard (FIPS – Padrões Federais de Processamento de Informações)](https://aws.amazon.com/compliance/fips/)
+ [Endpoints de site](https://docs.aws.amazon.com/AmazonS3/latest/userguide/WebsiteEndpoints.html)
+ [Endpoints globais herdados](https://docs.aws.amazon.com/AmazonS3/latest/userguide/VirtualHosting.html#deprecated-global-endpoint)

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

**Pilha de tecnologia de origem**
+ Cluster Hadoop com instalação DistCp 

**Pilha de tecnologias de destino**
+ Amazon S3
+ Amazon VPC

**Arquitetura de destino**

![\[Cluster Hadoop com DistCp cópias de dados do ambiente local por meio do Direct Connect to S3.\]](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/images/pattern-img/8d2b47ae-e854-4e5d-8f19-b9c2606f2c59/images/b8a249bd-307b-41ec-b939-5039d0ae7123.png)


O diagrama mostra como o administrador do Hadoop usa DistCp para copiar dados de um ambiente local por meio de uma conexão de rede privada, como o AWS Direct Connect, para o Amazon S3 por meio de um endpoint de interface do Amazon S3.

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

**Serviços da AWS**
+ O [AWS Identity and Access Management (IAM)](https://docs.aws.amazon.com/IAM/latest/UserGuide/introduction.html) ajuda você a gerenciar com segurança o acesso aos seus recursos da AWS, controlando quem está autenticado e autorizado a usá-los.
+ O [Amazon Simple Storage Service (Amazon S3)](https://docs.aws.amazon.com/AmazonS3/latest/userguide/Welcome.html) é um serviço de armazenamento de objetos baseado na nuvem que ajuda você a armazenar, proteger e recuperar qualquer quantidade de dados.
+ A [Amazon Virtual Private Cloud (Amazon VPC)](https://docs.aws.amazon.com/vpc/latest/userguide/what-is-amazon-vpc.html) ajuda a iniciar recursos da AWS em uma rede virtual definida por você. Essa rede virtual é semelhante a uma rede tradicional que você operaria no próprio datacenter, com os benefícios de usar a infraestrutura escalável da AWS.

**Outras ferramentas**
+ [O Apache Hadoop DistCp](https://hadoop.apache.org/docs/current/hadoop-distcp/DistCp.html) (cópia distribuída) é uma ferramenta usada para copiar grandes interclusters e intra-clusters. DistCp usa o Apache MapReduce para distribuição, tratamento e recuperação de erros e geração de relatórios.

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

### Migre dados para a Nuvem AWS
<a name="migrate-data-to-the-aws-cloud"></a>


| Tarefa | Description | Habilidades necessárias | 
| --- | --- | --- | 
| Crie um endpoint para a AWS PrivateLink para o Amazon S3. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/migrate-data-from-an-on-premises-hadoop-environment-to-amazon-s3-using-distcp-with-aws-privatelink-for-amazon-s3.html) | Administrador da AWS | 
| Verifique os endpoints e encontre as entradas de DNS. | [\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/migrate-data-from-an-on-premises-hadoop-environment-to-amazon-s3-using-distcp-with-aws-privatelink-for-amazon-s3.html) | Administrador da AWS | 
| Verifique as regras do firewall e as configurações de roteamento. | Para confirmar se suas regras de firewall estão abertas e se sua configuração de rede está configurada corretamente, use o Telnet para testar o endpoint na porta 443. Por exemplo:<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 você usar a entrada Regional, um teste bem-sucedido apresentará que o DNS está alternando entre os dois endereços IP exibidos na guia **Sub-redes** do endpoint selecionado no console da Amazon VPC. | Administrador de rede, administrador da AWS | 
| Configure a resolução de nomes. | Você deve configurar a resolução de nomes para permitir que o Hadoop acesse o endpoint da interface Amazon S3. Não é possível usar o nome do endpoint em si. Em vez disso, você deve resolver `<your-bucket-name>.s3.<your-aws-region>.amazonaws.com` ou`*.s3.<your-aws-region>.amazonaws.com`. Para obter mais informações sobre essa limitação de nomenclatura, consulte [Apresentando o cliente Hadoop S3A](https://hadoop.apache.org/docs/stable/hadoop-aws/tools/hadoop-aws/index.html#Introducing_the_Hadoop_S3A_client.) (site do Hadoop).Escolha uma das seguintes opções de configuração:[\[See the AWS documentation website for more details\]](http://docs.aws.amazon.com/pt_br/prescriptive-guidance/latest/patterns/migrate-data-from-an-on-premises-hadoop-environment-to-amazon-s3-using-distcp-with-aws-privatelink-for-amazon-s3.html) | Administrador da AWS | 
| Configure a autenticação para o Amazon S3. | Para se autenticar no Amazon S3 por meio do Hadoop, recomendamos que você exporte credenciais de função temporárias para o ambiente do Hadoop. Para obter mais informações, consulte [Autenticação com o S3](https://hadoop.apache.org/docs/stable/hadoop-aws/tools/hadoop-aws/index.html#Authenticating_with_S3) (site do Hadoop). Para trabalhos de longa duração, você pode criar um usuário e atribuir uma política que tenha permissões para colocar dados somente em um bucket do S3. A chave de acesso e a chave secreta podem ser armazenadas no Hadoop, acessíveis somente para o DistCp trabalho em si e para o administrador do Hadoop. Para obter mais informações sobre como armazenar segredos, consulte [Armazenamento de segredos com provedores de credenciais do Hadoop](https://hadoop.apache.org/docs/r3.1.1/hadoop-aws/tools/hadoop-aws/index.html#hadoop_credential_providers) (site do Hadoop). Para obter mais informações sobre outros métodos de autenticação, consulte [Como obter credenciais de um perfil do IAM para uso com acesso da CLI a uma conta da AWS IAM](https://docs.aws.amazon.com/singlesignon/latest/userguide/howtogetcredentials.html) na documentação do Centro de Identidade do AWS IAM (sucessor do AWS Single Sign-On).Para usar credenciais temporárias, adicione as credenciais temporárias ao seu arquivo de credenciais ou execute os seguintes comandos para exportar as credenciais para o seu 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>Se você tiver uma combinação tradicional de chave de acesso e chave secreta, execute os seguintes comandos:<pre>export AWS_ACCESS_KEY_ID=my.aws.key<br />export AWS_SECRET_ACCESS_KEY=my.secret.key</pre>Se você usar uma combinação de chave de acesso e chave secreta, altere o provedor de credenciais nos DistCp comandos de `"org.apache.hadoop.fs.s3a.TemporaryAWSCredentialsProvider"` para`"org.apache.hadoop.fs.s3a.SimpleAWSCredentialsProvider"`. | Administrador da AWS | 
| Transfira dados usando DistCp. | Para usar DistCp para transferir dados, execute os seguintes comandos:<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>A região da AWS do endpoint não é descoberta automaticamente quando você usa o DistCp comando com a AWS PrivateLink para o Amazon S3. O Hadoop 3.3.2 e versões posteriores resolvem esse problema habilitando a opção de definir explicitamente a região da AWS do bucket S3. Para obter mais informações, consulte [S3A para adicionar a opção fs.s3a.endpoint.region para definir a região](https://issues.apache.org/jira/browse/HADOOP-17705) da AWS (site do Hadoop).Para obter mais informações sobre provedores S3A adicionais, consulte [Configuração geral do cliente S3A](https://hadoop.apache.org/docs/stable/hadoop-aws/tools/hadoop-aws/index.html#General_S3A_Client_configuration) (site do Hadoop). Por exemplo, se você usa criptografia, pode adicionar a seguinte opção à série de comandos acima, dependendo do seu tipo de criptografia:<pre>-Dfs.s3a.server-side-encryption-algorithm=AES-256 [or SSE-C or SSE-KMS]</pre>Para usar o endpoint da interface com o S3A, você deve criar uma entrada de alias de DNS para o nome Regional do S3 (por exemplo, `s3.<your-aws-region>.amazonaws.com`) com direcionamento para o endpoint da interface. Consulte a seção *Configurar autenticação para o Amazon S3* para obter instruções. Essa solução alternativa é necessária para o Hadoop 3.3.2 e versões anteriores. Versões futuras do S3A não exigirão essa solução alternativa.Se você tiver problemas de assinatura com o Amazon S3, adicione uma opção de usar a Signature Version 4 (SigV4):<pre>-Dmapreduce.map.java.opts="-Dcom.amazonaws.services.s3.enableV4=true"</pre> | Engenheiro de migração, administrador da AWS | 