Amazon EMR é um serviço de big data oferecido pela AWS para executar o Apache Spark e outros aplicativos de código aberto na AWS para criar pipelines de dados escaláveis de maneira econômica. Monitorar os logs gerados a partir dos trabalhos implantados em clusters EMR é essencial para ajudar a detectar problemas críticos em tempo real e identificar as causas principais rapidamente.
Empurrando esses logs para Amazon CloudWatch permite que você centralize e gere inteligência acionável de seus logs para resolver problemas operacionais sem precisar provisionar servidores ou gerenciar software. Você pode começar a escrever consultas instantaneamente com agregações, filtros e expressões regulares. Além disso, você pode visualizar dados de série temporal, detalhar eventos de log individuais e exportar resultados de consulta para painéis do CloudWatch.
Para ingerir logs que persistem no Amazon Elastic Compute Nuvem (Amazon EC2) de um cluster EMR no CloudWatch, você pode usar o Agente do CloudWatch. Isso fornece uma maneira simples de enviar logs de uma instância do EC2 para o CloudWatch.
O agente do CloudWatch é um pacote de software que é executado de forma autônoma e contínua em seus servidores. Você pode instalar e configurar o agente do CloudWatch para coletar logs do sistema e do aplicativo de instâncias do EC2, hosts locais e aplicativos em contêineres. O CloudWatch processa e armazena os logs coletados pelo agente CloudWatch, o que ajuda ainda mais no monitoramento de desempenho e integridade de sua infraestrutura e aplicativos.
Nesta postagem, criamos um cluster EMR e centralizamos os logs de etapas EMR dos trabalhos no CloudWatch. Isso facilitará o gerenciamento do cluster EMR, a solução de problemas e o monitoramento do desempenho. Essa solução é particularmente útil se você quiser usar o CloudWatch para coletar e visualizar logs, métricas e dados de eventos em tempo real, simplificando sua infraestrutura e manutenção de aplicativos.
Visão geral da solução
A solução apresentada neste post é baseada em uma configuração específica em que o nível de simultaneidade da etapa EMR é definido como 1. Isso significa que apenas uma etapa é executada por vez no cluster. É importante observar que, se o nível de simultaneidade da etapa EMR for definido como um valor maior que 1, a solução pode não funcionar conforme o esperado. Recomendamos vivamente que verifique o seu Simultaneidade de etapas EMR configuração antes de implementar a solução apresentada neste post.
O diagrama a seguir ilustra a arquitetura da solução.
O fluxo de trabalho inclui as seguintes etapas:
- Os usuários iniciam um trabalho Apache Spark EMR, criando uma etapa no cluster EMR. Usando o Apache Spark, a carga de trabalho é distribuída entre os diferentes nós do cluster EMR.
- Em cada nó (instância do EC2) do cluster, um agente do CloudWatch monitora diferentes diretórios de logs, capturando novas entradas nos arquivos de log e enviando-os para o CloudWatch.
- Os usuários podem visualizar os logs de etapas acessando os diferentes grupos de logs no console do CloudWatch. Os logs de etapas gravados pelo Amazon EMR são os seguintes:
- controlador — Informações sobre o processamento da etapa. Se sua etapa falhar durante o carregamento, você poderá encontrar o rastreamento de pilha neste log.
- stderr — O canal de erro padrão do Spark enquanto processa a etapa.
- stdout — O canal de saída padrão do Spark enquanto processa a etapa.
Nós fornecemos um Formação da Nuvem AWS modelo neste post como um guia geral. O modelo demonstra como configurar um agente do CloudWatch no Amazon EMR para enviar logs do Spark para o CloudWatch. Você pode revisá-lo e personalizá-lo conforme necessário para incluir suas configurações de segurança do Amazon EMR. Como prática recomendada, recomendamos incluir suas configurações de segurança do Amazon EMR no modelo para criptografar dados em trânsito.
Você também deve estar ciente de que alguns dos recursos implantados por essa pilha incorrem em custos quando permanecem em uso.
Nas próximas seções, passamos pelas seguintes etapas:
- Crie e carregue o script bootstrap para um Serviço de armazenamento simples da Amazon (Amazon S3).
- Use o modelo CloudFormation para criar os seguintes recursos:
- Monitore os logs do Spark no console do CloudWatch.
Pré-requisitos
Este post pressupõe que você tenha o seguinte:
Crie e carregue o script de bootstrap em um bucket do S3
Para mais informações, consulte Fazendo upload de objetos e Instalando e executando o agente do CloudWatch em seus servidores.
Para criar e fazer upload do script bootstrap, conclua as seguintes etapas:
- Crie um arquivo local chamado
bootstrap_cloudwatch_agent.sh
com o seguinte conteúdo: - No console do Amazon S3, escolha seu bucket S3.
- No objetos guia, escolha Escolher arquivo.
- Escolha Adicionar arquivos, em seguida, escolha o script de inicialização.
- Escolha Escolher arquivo, em seguida, escolha o nome do arquivo:
bootstrap_cloudwatch_agent.sh
. - Escolha Copiar S3 URI. Usamos esse valor em uma etapa posterior.
Provisionar recursos com o modelo CloudFormation
Escolha Pilha de Lançamento para iniciar uma pilha do CloudFormation em sua conta e implantar o modelo:
Este modelo cria uma função IAM, um perfil de instância IAM, um parâmetro do Systems Manager e um cluster EMR. O cluster inicia o Aplicativo de exemplo de estimativa do Spark PI. Você será cobrado pelos recursos da AWS usados se criar uma pilha a partir desse modelo.
O assistente do CloudFormation solicitará que você modifique ou forneça estes parâmetros:
- Tipo de instância - A tipo de instância para todos os grupos de instâncias. O padrão é m4.xlarge.
- InstanceCountCore – O número de instâncias no grupo de instâncias principais. O padrão é 2.
- EMRRleaseLabel - A Etiqueta de lançamento do Amazon EMR você quer usar. O padrão é emr-6.9.0.
- BootstrapScriptPath – O caminho S3 do script de inicialização de instalação do agente do CloudWatch que você copiou anteriormente.
- Sub-rede – A sub-rede do EC2 na qual o cluster é iniciado. Você deve fornecer esse parâmetro.
- EC2KeyPairName – Um par de chaves EC2 opcional para conexão com nós de cluster, como alternativa ao Session Manager.
Monitorar os fluxos de log
Depois que a pilha do CloudFormation for implantada com sucesso, no console do CloudWatch, escolha Grupos de registro no painel de navegação. Em seguida, filtre os grupos de log pelo prefixo /aws/emr/master
.
O ID no grupo de logs corresponde ao ID da instância do EC2 do nó primário do EMR. Se você tiver vários clusters EMR, poderá usar esse ID para identificar um cluster EMR específico, com base no ID do nó primário.
No grupo de logs, você encontrará os três fluxos de logs diferentes.
Os fluxos de log contêm as seguintes informações:
- passo a passo – O canal de saída padrão do Spark enquanto processa a etapa.
- passo-stderr – O canal de erro padrão do Spark enquanto processa a etapa.
- controlador de passo – Informações sobre o processamento da etapa. Se sua etapa falhar durante o carregamento, você poderá encontrar o rastreamento de pilha neste log.
limpar
Para evitar cobranças futuras em sua conta, exclua os recursos que você criou neste passo a passo. O cluster EMR incorrerá em cobranças enquanto o cluster estiver ativo, portanto, interrompa-o quando terminar.
- No console do CloudFormation, no painel de navegação, escolha Pilhas.
- Escolha a pilha que você lançou (
EMR-CloudWatch-Demo
), então escolha Apagar. - Esvazie o balde S3 você criou.
- Excluir o balde S3 você criou.
Conclusão
Agora que concluiu as etapas deste passo a passo, você tem o agente do CloudWatch em execução nos hosts do cluster e configurado para enviar logs de etapas do EMR para o CloudWatch. Com esse recurso, você pode monitorar com eficácia a integridade e o desempenho de seus trabalhos do Spark em execução no Amazon EMR, detectando problemas críticos em tempo real e identificando as causas principais rapidamente.
Você pode empacotar e implantar esta solução por meio de um modelo do CloudFormation como este modelo de exemplo, que cria a função de perfil de instância do IAM, o parâmetro do Systems Manager e o cluster EMR.
Para levar isso adiante, considere usar esses logs em alarmes do CloudWatch para alertas em um filtro de métrica de grupo de log. Você pode coletá-los com outros alarmes em um alarme composto ou configurar ações de alarme, como enviar Serviço de notificação simples da Amazon (Amazon SNS) notificações para acionar processos orientados a eventos, como AWS Lambda funções.
Sobre o autor
Ennio Pastore é arquiteto de dados sênior da equipe do AWS Data Lab. Ele é um entusiasta de tudo relacionado a novas tecnologias que tenham um impacto positivo nos negócios e na vida em geral. Ennio tem mais de 10 anos de experiência em análise de dados. Ele ajuda as empresas a definir e implementar plataformas de dados em vários setores, como telecomunicações, bancos, jogos, varejo e seguros.
- Conteúdo com tecnologia de SEO e distribuição de relações públicas. Seja amplificado hoje.
- Platoblockchain. Inteligência Metaverso Web3. Conhecimento Ampliado. Acesse aqui.
- Fonte: https://aws.amazon.com/blogs/big-data/push-amazon-emr-step-logs-from-amazon-ec2-instances-to-amazon-cloudwatch-logs/
- :é
- 1
- 10
- 100
- 9
- a
- Sobre
- acessando
- Conta
- em
- ações
- ativo
- Adição
- endereço
- Agente
- alarme
- alertas
- Todos os Produtos
- alternativa
- Amazon
- Amazon EC2
- Amazon EMR
- analítica
- e
- apache
- Apache Spark
- Aplicação
- aplicações
- arquitetura
- SOMOS
- AS
- At
- autonomamente
- AWS
- Bancário
- baseado
- BE
- antes
- começar
- MELHOR
- Grande
- Big Data
- Bootstrap
- construir
- negócios
- by
- CAN
- Capturar
- causas
- Canal
- acusações
- Escolha
- Agrupar
- coletar
- Empresas
- completar
- Efetuado
- Computar
- Configuração
- Conexão de
- Considerar
- cônsul
- conteúdo
- continuamente
- núcleo
- corresponde
- relação custo-benefício
- custos
- poderia
- crio
- criado
- cria
- Criar
- crítico
- personalizar
- dados,
- Análise de Dados
- Padrão
- demonstra
- implantar
- implantado
- implanta
- diferente
- diretórios
- distribuído
- down
- distância
- cada
- Mais cedo
- mais fácil
- eco
- efetivamente
- permite
- entusiasta
- erro
- essencial
- Éter (ETH)
- Evento
- eventos
- tudo
- exemplo
- esperado
- vasta experiência
- exportar
- expressões
- falha
- Característica
- Envie o
- Arquivos
- filtro
- filtros
- Encontre
- seguinte
- segue
- Escolha
- da
- funções
- mais distante
- futuro
- jogos
- Geral
- gerado
- Go
- maior
- Grupo
- Do grupo
- guia
- Ter
- Saúde
- ajudar
- útil
- ajuda
- altamente
- anfitriões
- Como funciona o dobrador de carta de canal
- Como Negociar
- HTML
- http
- HTTPS
- IAM
- ID
- identificar
- identificar
- Impacto
- executar
- implementação
- importante
- in
- incluir
- inclui
- Incluindo
- Individual
- indústrias
- INFORMAÇÕES
- Infraestrutura
- instalar
- instalando
- instância
- com seguro
- Inteligência
- questões
- IT
- Trabalho
- Empregos
- jpg
- json
- laboratório
- lançamento
- lançado
- lança
- Nível
- como
- carregamento
- local
- longo
- manutenção
- fazer
- gerencia
- Gerente
- maneira
- significa
- Métrica
- modificar
- Monitore
- monitoração
- mais
- múltiplo
- nome
- Nomeado
- Navegação
- necessário
- necessitando
- Novo
- Novas tecnologias
- Próximo
- nó
- nós
- notificação
- notificações
- número
- of
- oferecido
- on
- ONE
- open source
- operacional
- Outros
- saída
- pacote
- pão
- parâmetro
- parâmetros
- particular
- particularmente
- caminho
- atuação
- Plataformas
- platão
- Inteligência de Dados Platão
- PlatãoData
- positivo
- Publique
- prática
- apresentado
- primário
- processos
- em processamento
- Perfil
- fornecer
- fornece
- provisão
- Empurrar
- Empurrando
- rapidamente
- reais
- em tempo real
- recomendar
- regular
- relacionado
- liberar
- permanecem
- Recursos
- Resultados
- varejo
- rever
- Tipo
- raiz
- Execute
- corrida
- escalável
- seções
- segurança
- envio
- senior
- Série
- serviço
- Sessão
- conjunto
- rede de apoio social
- simples
- So
- Software
- solução
- alguns
- Faísca
- específico
- pilha
- padrão
- começo
- Comece
- começa
- Passo
- Passos
- Dê um basta
- armazenamento
- lojas
- racionalização
- córregos
- sub-rede
- entraram com sucesso
- tal
- Sudo
- .
- sistemas
- Tire
- Profissionais
- Tecnologias
- telecomunicações
- modelo
- que
- A
- Eles
- Este
- três
- Através da
- tempo
- Séries temporais
- para
- traçar
- desencadear
- usar
- valor
- verificação
- Ver
- Passo a passo
- relógios
- Caminho..
- qual
- enquanto
- precisarão
- com
- sem
- Atividades:
- de gestão de documentos
- escrita
- escrito
- yaml
- anos
- investimentos
- zefirnet