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á.
Gerenciamento do failover multi-AZ para clusters do EMR usando o Controlador de Recuperação de Aplicações
Aarti Rajput, Ashish Bhatt, Neeti Mishra e Nidhi Sharma, Amazon Web Services
Resumo
Este padrão oferece uma estratégia eficiente de recuperação de desastres para workloads do Amazon EMR, ajudando a garantir alta disponibilidade e consistência de dados em diversas zonas de disponibilidade dentro de uma única Região da AWS. O projeto emprega o Controlador de Recuperação de Aplicações da Amazon e um Application Load Balancer para gerenciar operações de failover e de distribuição de tráfego em um cluster do EMR baseado em Apache Spark.
Sob condições padrão, a zona de disponibilidade principal hospeda um cluster EMR ativo e um aplicativo com funcionalidade completa read/write . Se uma zona de disponibilidade falhar inesperadamente, o tráfego é automaticamente redirecionado para a zona de disponibilidade secundária, na qual um novo cluster do EMR é iniciado. Ambas as zonas de disponibilidade acessam um bucket compartilhado do Amazon Simple Storage Service (Amazon S3) por meio de endpoints de gateway dedicados, garantindo um gerenciamento consistente dos dados. Essa abordagem minimiza o tempo de inatividade e possibilita uma recuperação rápida para workloads críticas de big data durante falhas em zonas de disponibilidade. A solução é útil em setores como finanças ou comércio varejista, em que analytics em tempo real são essenciais.
Pré-requisitos e limitações
Pré-requisitos
Uma Conta da AWS
ativa Amazon EMR na Amazon Elastic Compute Cloud (Amazon) EC2
Acesso do nó principal do cluster do EMR ao Amazon S3
AWS Infraestrutura Multi-AZ
Limitações
Alguns Serviços da AWS não estão disponíveis em todos Regiões da AWS. Para conferir a disponibilidade de uma região, consulte Serviços da AWS by Region
. Para endpoints específicos, consulte a página Cotas e endpoints de serviços e clique no link correspondente ao serviço desejado.
Versões do produto
Arquitetura
Pilha de tecnologias de destino
Cluster do Amazon EMR
Amazon Application Recovery Controller
Application Load Balancer
Bucket do Amazon S3.
Endpoints de gateway para o Amazon S3
Arquitetura de destino

Esta arquitetura fornece resiliência para aplicações ao usar diversas zonas de disponibilidade e implementar um mecanismo de recuperação automatizado por meio do Controlador de Recuperação de Aplicações.
O Application Load Balancer encaminha o tráfego para o ambiente do Amazon EMR ativo, que normalmente é o cluster do EMR primário na zona de disponibilidade primária.
O cluster do EMR ativo processa as solicitações da aplicação e estabelece conexão com o Amazon S3 por meio do endpoint do gateway dedicado do Amazon S3 para operações de leitura e gravação.
O Amazon S3 funciona como um repositório central de dados e pode ser usado como ponto de verificação ou como armazenamento compartilhado entre clusters do EMR. Os clusters do EMR mantêm a consistência de dados quando gravam diretamente no Amazon S3 por meio do protocolo
s3://e do EMR File System (EMRFS).O Controlador de Recuperação de Aplicações monitora continuamente a integridade da zona de disponibilidade primária e gerencia automaticamente as operações de failover, quando necessário.
Se o Controlador de Recuperação de Aplicações detectar uma falha no cluster do EMR primário, ele executará as seguintes ações:
Iniciar o processo de failover para o cluster do EMR secundário, localizado na zona de disponibilidade 2.
Atualizar as configurações de roteamento para direcionar o tráfego ao cluster secundário.
Ferramentas
Serviços da AWS
O Amazon Application Recovery Controller ajuda você a gerenciar e coordenar a recuperação de seus aplicativos em todas Regiões da AWS as zonas de disponibilidade. Este serviço simplifica o processo e aumenta a confiabilidade da recuperação das aplicações ao reduzir as etapas manuais exigidas por ferramentas e processos tradicionais.
O Application Load Balancer opera na camada de aplicação, que corresponde à sétima camada do modelo Open Systems Interconnection (OSI). Ele distribui o tráfego de entrada do aplicativo em vários destinos, como EC2 instâncias, em várias zonas de disponibilidade. Isso aumenta a disponibilidade do seu aplicativo.
AWS Command Line Interface (AWS CLI) é uma ferramenta de código aberto que ajuda você a interagir Serviços da AWS por meio de comandos em seu shell de linha de comando.
O Amazon EMR é uma plataforma de big data que fornece processamento de dados, análise interativa e machine learning para estruturas de código aberto, como Apache Spark, Apache Hive e Presto.
AWS Identity and Access Management (IAM) ajuda você a gerenciar com segurança o acesso aos seus AWS recursos controlando quem está autenticado e autorizado a usá-los.
O Amazon S3 fornece uma interface de serviço web simples que você pode usar para armazenar e recuperar qualquer volume de dados, a qualquer momento e de qualquer lugar. Com este serviço, é possível desenvolver, com facilidade, aplicações que aproveitem o armazenamento nativo da nuvem.
Os endpoints de gateway para o Amazon S3 são gateways que você especifica em sua tabela de rotas para acessar o Amazon S3 a partir da sua nuvem privada virtual (VPC) pela rede. AWS
Práticas recomendadas
Siga as AWS best practices for security, identity, and compliance
, a fim de garantir uma arquitetura robusta e segura. Alinhe a arquitetura com o AWS Well-Architected Framework
. Use a Concessão de Acesso do Amazon S3 para gerenciar o acesso do seu cluster do EMR baseado em Spark ao Amazon S3. Para obter detalhes, consulte a publicação do blog Use Amazon EMR with S3 Access Grants to Scale Spark access to Amazon S3
.
Épicos
| Tarefa | Description | Habilidades necessárias |
|---|---|---|
Faça login no Console de gerenciamento da AWS. | Faça login no Console de gerenciamento da AWS | AWS DevOps |
Configure AWS CLI o. | Instale o AWS CLI ou atualize-o para a versão mais recente para que você possa interagir com Serviços da AWS Console de gerenciamento da AWS o. Para obter instruções, consulte a documentação do AWS CLI. | AWS DevOps |
| Tarefa | Description | Habilidades necessárias |
|---|---|---|
Criar um bucket do S3. |
| AWS DevOps |
Crie um cluster do EMR. |
| AWS DevOps |
Defina as configurações de segurança para o cluster do EMR. |
| AWS DevOps |
Conecte-se ao cluster do EMR. | Estabeleça conexão com o nó principal do cluster do EMR por meio de SSH utilizando o par de chaves fornecido. Certifique-se de que o arquivo do par de chaves esteja no mesmo diretório da sua aplicação. Execute os seguintes comandos para definir as permissões corretas para o par de chaves e estabelecer a conexão SSH:
| AWS DevOps |
Implante a aplicação do Spark. | Após estabelecer a conexão SSH, você estará no console do Hadoop.
| AWS DevOps |
Monitore a aplicação do Spark. |
| AWS DevOps |
| Tarefa | Description | Habilidades necessárias |
|---|---|---|
Criar um Application Load Balancer. | Configure o grupo de destino que roteia o tráfego entre os nós principais do Amazon EMR implantados em duas zonas de disponibilidade dentro de uma Região da AWS. Para obter instruções, consulte Create a target group for your Application Load Balancer na documentação do Elastic Load Balancing. | AWS DevOps |
Configure a mudança de zona no Controlador de Recuperação de Aplicações. | Nesta etapa, você usará o recurso de mudança de zona no Controlador de Recuperação de Aplicações para redirecionar o tráfego para outra zona de disponibilidade.
Para usar o AWS CLI, consulte Exemplos de uso do AWS CLI com mudança zonal na documentação do Application Recovery Controller. | AWS DevOps |
Verifique a configuração e o progresso da mudança de zona. |
| AWS DevOps |
Recursos relacionados
AWS CLI comandos:
Configuring Amazon EMR cluster instance types and best practices for Spot instances (documentação do Amazon EMR)
Práticas recomendadas de segurança no IAM (documentação do IAM)
Usar perfis de instância (documentação do IAM)
Use zonal shift and zonal autoshift to recovery applications in ARC (documentação do Controlador de Recuperação de Aplicações)