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á.
Gerencie o failover Multi-AZ para clusters do EMR usando o Application Recovery Controller
Criado por Aarti Rajput (AWS), Ashish Bhatt (AWS), Neeti Mishra (AWS) e Nidhi Sharma (AWS)
Resumo
Esse padrão oferece uma estratégia eficiente de recuperação de desastres para cargas de trabalho do Amazon EMR para ajudar a garantir a alta disponibilidade e a consistência dos dados em várias zonas de disponibilidade em uma única. Região da AWS O design usa o Amazon Application Recovery Controller e um Application Load Balancer para gerenciar operações de failover e distribuição de tráfego para um cluster EMR baseado em Apache Spark.
Sob condições padrão, a zona de disponibilidade principal hospeda um cluster e um aplicativo EMR ativos com funcionalidade completa de leitura/gravação. Se uma zona de disponibilidade falhar inesperadamente, o tráfego será redirecionado automaticamente para a zona de disponibilidade secundária, onde um novo cluster do EMR será lançado. Ambas as zonas de disponibilidade acessam um bucket compartilhado do Amazon Simple Storage Service (Amazon S3) por meio de endpoints de gateway dedicados, que garantem o gerenciamento consistente dos dados. Essa abordagem minimiza o tempo de inatividade e permite a recuperação rápida de cargas de trabalho críticas de big data durante falhas na zona de disponibilidade. A solução é útil em setores como finanças ou varejo, onde análises em tempo real são cruciais.
Pré-requisitos e limitações
Pré-requisitos
Um ativo Conta da AWS
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 ver a disponibilidade da região, consulte Serviços da AWS por região
. Para endpoints específicos, consulte a página de endpoints e cotas do serviço e escolha o link para o serviço.
Versões do produto
Arquitetura
Pilha de tecnologias de destino
Cluster Amazon EMR
Amazon Application Recovery Controller
Application Load Balancer
Bucket do Amazon S3
Endpoints de gateway para o Amazon S3
Arquitetura de destino

Essa arquitetura fornece resiliência ao aplicativo usando várias zonas de disponibilidade e implementando um mecanismo de recuperação automatizado por meio do Controlador de Recuperação de Aplicativos.
O Application Load Balancer roteia o tráfego para o ambiente ativo do Amazon EMR, que normalmente é o cluster principal do EMR na zona de disponibilidade primária.
O cluster ativo do EMR processa as solicitações do aplicativo e se conecta ao Amazon S3 por meio de seu endpoint de gateway Amazon S3 dedicado para operações de leitura e gravação.
O Amazon S3 serve como um repositório central de dados e é potencialmente usado como um ponto de verificação ou como armazenamento compartilhado entre clusters do EMR. Os clusters do EMR mantêm a consistência dos dados quando gravam diretamente no Amazon S3 por meio
s3://
do protocolo e do EMR File System (EMRFS).O Application Recovery Controller monitora continuamente a integridade da zona de disponibilidade principal e gerencia automaticamente as operações de failover quando necessário.
Se o Application Recovery Controller detectar uma falha no cluster primário do EMR, ele executará as seguintes ações:
Inicia o processo de failover para o cluster EMR secundário na Zona de Disponibilidade 2.
Atualiza as configurações de roteamento para direcionar o tráfego para o 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. Esse serviço simplifica o processo e melhora a confiabilidade da recuperação de aplicativos ao reduzir as etapas manuais exigidas pelas ferramentas e processos tradicionais.
O Application Load Balancer opera na camada do aplicativo, que é a 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 aprendizado de máquina 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 quantidade de dados, a qualquer momento, de qualquer lugar. Usando esse serviço, você pode criar facilmente aplicativos que usam armazenamento nativo em 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 melhores práticas de segurança, identidade e conformidade
para garantir uma arquitetura robusta e segura. Alinhe a arquitetura com o AWS Well-Architected
Framework. Use o Amazon S3 Access Grants para gerenciar o acesso do seu cluster EMR baseado em Spark ao Amazon S3. Para obter detalhes, consulte a postagem do blog Use o Amazon EMR com concessões de acesso do S3 para escalar o acesso do Spark ao Amazon S3
.
Épicos
Tarefa | Descrição | Habilidades necessárias |
---|---|---|
Faça login no AWS Management Console. | Faça login no AWS Management Console | 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 AWS Management Console o. Para obter instruções, consulte a AWS CLI documentação. | AWS DevOps |
Tarefa | Descrição | Habilidades necessárias |
---|---|---|
Criar um bucket do S3. |
| AWS DevOps |
Crie um cluster EMR. |
| AWS DevOps |
Defina as configurações de segurança para o cluster do EMR. |
| AWS DevOps |
Conecte-se ao cluster do EMR. | Conecte-se ao nó principal do cluster EMR por meio de SSH usando o par de chaves fornecido. Certifique-se de que o arquivo de key pair esteja presente no mesmo diretório do seu aplicativo. Execute os comandos a seguir para definir as permissões corretas para o key pair e estabelecer a conexão SSH:
| AWS DevOps |
Implante o aplicativo Spark. | Depois de estabelecer a conexão SSH, você estará no console do Hadoop.
| AWS DevOps |
Monitore o aplicativo Spark. |
| AWS DevOps |
Tarefa | Descrição | Habilidades necessárias |
---|---|---|
Criar um Application Load Balancer. | Configure o grupo-alvo que roteia o tráfego entre os nós principais do Amazon EMR que são implantados em duas zonas de disponibilidade em uma. Região da AWS Para obter instruções, consulte Criar um grupo-alvo para seu Application Load Balancer na documentação do Elastic Load Balancing. | AWS DevOps |
Configure a mudança zonal no Application Recovery Controller. | Nesta etapa, você usará o recurso de mudança de zona no Application Recovery Controller para transferir 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 do turno zonal. |
| AWS DevOps |
Recursos relacionados
AWS CLI comandos:
Configurando os tipos de instância de cluster do Amazon EMR e as melhores práticas para instâncias spot (documentação do Amazon EMR)
Práticas recomendadas de segurança no IAM (documentação do IAM)
Use perfis de instância (documentação do IAM)
Use o deslocamento zonal e o deslocamento automático zonal para recuperar aplicativos no ARC (documentação do Application Recovery Controller)