Otimização de clusters do Amazon EMR para custo e escala

com instâncias spot do EC2 e o Amazon EMR

O Amazon EMR fornece uma estrutura de trabalho do Hadoop gerenciada que torna fácil, rápido e econômico processar grandes quantidades de dados em instâncias do Amazon EC2 dimensionáveis dinamicamente. Você também pode executar outras estruturas de trabalho distribuídas populares, como Apache Spark, HBase, Presto e Flink no EMR, e interagir com dados em outros armazenamentos de dados da AWS, como Amazon S3 e Amazon DynamoDB. Os blocos de anotações do EMR, baseados no popular Notebook Jupyter, fornecem um ambiente de desenvolvimento e colaboração para consultas ad hoc e análises exploratórias. O EMR processa um amplo conjunto de casos de uso de big data com segurança e confiabilidade, inclusive análise de logs, indexação da web, transformações de dados (ETL), Machine Learning, análise financeira, simulação científica e bioinformática.

As instâncias spot do Amazon EC2 oferecem a capacidade computacional extra disponível na Nuvem AWS com descontos substanciais em relação aos preços sob demanda. Se precisar da capacidade de volta, o EC2 pode interromper as instâncias spot após uma notificação prévia de dois minutos. Você pode usar instâncias spot para várias aplicações tolerantes a falhas e flexíveis. Alguns exemplos são estudo analítico, cargas de trabalho conteinerizadas, High Performance Computing (HPC – Computação de alta performance), servidores web sem estado, renderização, CI/CD e outras cargas de trabalho de teste e desenvolvimento.

Neste tutorial, você aprenderá a executar seu primeiro cluster do Amazon EMR em instâncias spot do Amazon EC2 usando o assistente Criar cluster. A execução do Amazon EMR em instâncias spot reduz drasticamente o custo do big data, permite uma capacidade computacional significativamente maior e reduz o tempo de processamento de grandes conjuntos de dados.

Sobre este tutorial
Duração 10 a 20 minutos      
Custo Gratuito
Caso de uso Computação
Produtos Amazon EMR, instâncias spot do EC2
Nível 200
Data da última atualização 4 de fevereiro de 2020

Etapa 1: criar um cluster com opções avançadas

1.1 — Abra um navegador e acesse o console do Amazon EMR. Como alternativa, você pode pesquisar por EMR ou localizar o Amazon EMR na seção Estudo analítico da página inicial do console. Se você já tiver uma conta da AWS, faça login no console. Caso contrário, crie uma nova conta da AWS para começar.

1.2 — No canto superior direito, selecione a região onde deseja executar o cluster do Amazon EMR.

1.3 — Clique em Criar cluster na janela do Amazon EMR.

1.4 — Clique em Ir para opções avançadas na janela Criar cluster.

Etapa 2: configurar o software e as etapas do cluster

2.1 — Na seção Configuração de software, selecione o software requerido por seu cluster ou deixe as opções padrão para começar a usar rapidamente.

2.2 — Como opção, insira quaisquer informações de configuração necessárias para estabelecer conexão com o AWS Glue Data Catalog, bem como quaisquer arquivos de configuração que gostaria de usar ao configurar o software de seu cluster.

Deixe a opção Usar vários nós mestres para melhorar a disponibilidade do cluster desabilitada, já que essas opções não são compatíveis com as frotas de instâncias, que configuraremos nas próximas etapas.

2.3 — Outra opção é configurar quaisquer etapas que queira que seu cluster execute depois de provisionado, ou ignorar esta etapa para demonstrar rapidamente a execução do seu cluster.

Você pode usar as etapas do Amazon EMR para enviar trabalho à estrutura de trabalho do Spark instalada em um cluster do EMR. Para obter mais informações, consulte Etapas no Guia de gerenciamento do Amazon EMR. No console e na CLI, você faz isso usando uma etapa de aplicação do Spark, que executa o script spark-submit como uma etapa em seu nome. Com a API, você usa uma etapa para invocar o spark-submit usando command-runner.jar.

2.4 — Após uma rápida revisão da configuração do seu software, você está pronto para avançar para a próxima etapa e configurar o hardware de seus clusters.

Clique em Próximo para continuar.

Etapa 3: configurar frotas de instâncias

3.1 — Selecione Frotas de instâncias na seção Configuração de grupos de instâncias.

As frotas de instâncias permitirão implementar a diversificação de instâncias, que é uma melhor prática essencial ao utilizar instâncias spot do EC2. A diversificação de instâncias permite usar vários tipos de instâncias, garantindo que o Amazon EMR pode alocar toda a capacidade necessária para seu cluster enquanto lida automaticamente com as interrupções.

3.2 — Selecione a VPC e uma ou mais sub-redes em que você gostaria de implantar seu cluster do Amazon EMR.

Recomendamos escolher mais de uma zona de disponibilidade. Seu cluster ainda será implantado em uma única zona de disponibilidade, no entanto, a seleção de várias zonas de disponibilidade permite que o Amazon EMR procure em todas as zonas de disponibilidade selecionadas para implantar seu cluster na zona de disponibilidade com a maior capacidade spot do EC2 para executar seu cluster.

3.3 — Configure o tamanho de volume EBS do dispositivo raiz conforme necessário, ou deixe com o valor padrão para continuar.

3.4 — Role para baixo até a seção Frota de instâncias de tarefas e selecione Adicionar/remover tipos de instâncias de/para a frota.

As frotas de instâncias permitem especificar até cinco tipos de instâncias por frota para que o Amazon EMR possa provisionar capacidade proveniente de vários pools de capacidade spot do EC2 disponível.

Recomendamos usar instâncias sob demanda para nós mestre e de núcleo, a menos que você esteja executando cargas de trabalho altamente efêmeras.

Você pode sabre mais sobre os casos de uso típicos e revisar recomendações para o uso de instâncias spot do EC2 com o Amazon EMR aqui.

3.5 — Selecione até cinco tipos de instância para usar em sua frota de instâncias de nós de tarefas. Você deve considerar tipos de instâncias com proporções similares entre vCPUs e memória em várias famílias de instâncias.

Você pode usar o Spot Instance Advisor para saber mais sobre a economia média de custos e a taxa de interrupção de instâncias compatíveis com EMR. 

3.6 — Configure as unidades sob demanda e spot de sua frota de instâncias. Como opção, configure as unidades de cada tipo de instância.

O aumento do número de unidades sob demanda e unidades spot determinará quanta capacidade é provisionada para seu cluster. Para começar a usar rapidamente e reduzir o custo dessa demonstração recomendamos que você implante somente um pequeno número de unidades spot (8, por exemplo) e nenhuma unidade sob demanda.

Como padrão, as unidades de cada tipo de instância corresponderão ao número de vCores para esse tipo de instância. Você pode configurar isso conforme necessário para dar a diferentes tipos de instâncias mais peso, o que será levado em consideração quando o Amazon EMR atingir a capacidade de sua frota de instâncias.

Você também pode especificar o número de unidades que serão preenchidas por instâncias sob demanda ou instâncias spot do EC2. Isso permite que você combine vários tipos de instâncias e adquira opções para alcançar a diversificação de instâncias, além da capacidade necessária para seu cluster.

3.7 — Como opção, configure o comportamento de Duração definida e Tempo limite de provisionamento do seu cluster.

O Tempo limite do provisionamento permite definir o comportamento do cluster se o Amazon EMR não for capaz de provisionar capacidade para sua frota de instâncias. O comportamento padrão é Encerrar. Contudo, você tem a opção de fazer o cluster tentar provisionar instâncias sob demanda em vez de instâncias spot se o tempo limite for excedido.

Saiba mais sobre essas opções clicando aqui.

3.8 — Após uma rápida revisão da configuração do seu hardware, você está pronto para avançar para a próxima etapa e definir as configurações gerais de seus clusters.

Clique em Próximo para continuar.

Etapa 4: configurações gerais do cluster

4.1 — Especifique um nome para seu cluster ou aceite o valo padrão my cluster para continuar.

Você pode configurar o registro em log, a depuração e a proteção contra encerramento

Você pode saber mais sobre registro em log e depuração aqui.

Você pode saber mais sobre a proteção contra encerramento aqui.

4.2 — Você pode configurar quaisquer tags relevantes para seu cluster. As tags são úteis para identificar qual equipe é proprietária do cluster que você está criando, ou a qual ambiente ele pertence.

Você pode saber mais sobre a marcação com tags aqui.
 

4.3 — É possível configurar quaisquer opções adicionais exigidas por seu cluster como visualização consistente de EMRFS, um ID de AMI personalizada ou ações de Bootstrap.

4.4 — Após uma rápida revisão da configuração geral do seu cluster, você está pronto para avançar para a próxima etapa e definir as configurações de segurança de seus clusters.

Clique em Próximo para continuar. 

Etapa 5: segurança

5.1 — Opcionalmente, configure defina qualquer configuração de segurança necessária para seu cluster, incluindo pares de chaves, funções e perfis de instância, grupos de segurança e criptografia.

5.2 — Depois de uma rápida revisão da configuração de segurança dos clusters, você está pronto para criar seu cluster.

Clique em Criar cluster para executar seu novo cluster do Amazon EMR que executa instâncias spot do EC2.

Parabéns

Você executou um cluster do Amazon EMR em instâncias spot do EC2. Você já pode integrar instâncias spot em seus clusters do EMR e começar a otimizar suas cargas de trabalho de big data em relação ao custo e à performance.

Este tutorial foi útil para você?

Agradecemos a sua atenção
Gostaríamos de saber do que você gostou.
Desculpe por ter desapontado
Encontrou algo desatualizado, confuso ou incorreto? Envie seus comentários para nos ajudar a melhorar este tutorial.

Execução de aplicativos do Spark com o EMR

Agora que você aprendeu a usar as instâncias spot do EC2 com o Amazon EMR, já pode implementar frotas de instâncias e as outras melhores práticas que aprendeu em suas próprias cargas de trabalho. Caso queira continuar sua aprendizagem, recomendamos seguir o workshop autoguiado localizado aqui.

Leia a documentação

Saiba mais sobre a funcionalidade e os recursos do Amazon EMR lendo o guia de gerenciamento do Amazon EMR.

Explore as instâncias spot do Amazon EC2

Se quiser aprender mais sobre as instâncias spot do Amazon EC2, visite a página do produto Instâncias spot do Amazon EC2 para explorar a documentação, os vídeos, os blogs e muito mais.