No post Apresentando a ferramenta TCO do AWS ProServe Hadoop Migration Delivery Kit, apresentamos a ferramenta TCO AWS ProServe Hadoop Migration Delivery Kit (HMDK) e os benefícios da migração de cargas de trabalho locais do Hadoop para Amazon EMR. Nesta postagem, nos aprofundamos na ferramenta, percorrendo todas as etapas, desde a ingestão de logs, transformação, visualização e design de arquitetura para calcular o TCO.
Visão geral da solução
Vamos visitar brevemente os principais recursos da ferramenta HMDK TCO. A ferramenta fornece um coletor de log YARN para conectar o Hadoop Resource Manager para coletar logs YARN. Um analisador de carga de trabalho Hadoop baseado em Python, chamado de analisador de log YARN, examina os aplicativos Hadoop. AmazonQuickSight painéis mostram os resultados do analisador. Os mesmos resultados também aceleram o projeto de futuras instâncias de EMR. Além disso, uma calculadora de TCO gera a estimativa de TCO de um cluster EMR otimizado para facilitar a migração.
Agora vamos ver como a ferramenta funciona. O diagrama a seguir ilustra o fluxo de trabalho de ponta a ponta.
Nas próximas seções, percorremos as cinco etapas principais da ferramenta:
- Colete logs do histórico de tarefas do YARN.
- Transforme os logs do histórico de tarefas de JSON para CSV.
- Analise os logs do histórico de tarefas.
- Projete um cluster EMR para migração.
- Calcule o TCO.
Pré-requisitos
Antes de começar, certifique-se de concluir os seguintes pré-requisitos:
- Clone o repositório hadoop-migration-assessment-tco.
- Instale o Python 3 em sua máquina local.
- Ter uma conta da AWS com permissão em AWS Lambda, QuickSight (edição Enterprise) e Formação da Nuvem AWS.
Coletar logs do histórico de tarefas do YARN
Primeiro, você executa um Coletor de registros YARN, start-collector.sh, em sua máquina local. Esta etapa coleta logs do Hadoop YARN e os coloca em sua máquina local. O script conecta sua máquina local com o nó primário do Hadoop e se comunica com o Resource Manager. Em seguida, ele recupera as informações do histórico do trabalho (logs do YARN dos gerenciadores de aplicativos) chamando a API do aplicativo YARN ResourceManager.
Antes de executar o coletor de log YARN, você precisa configurar e estabelecer a conexão (HTTP: 8088 ou HTTPS: 8090; o último é recomendado) para verificar a acessibilidade do YARN ResourceManager e YARN Timeline Server habilitado (Timeline Server v1 ou posterior são suportados ). Pode ser necessário definir o intervalo de coleta e a política de retenção dos logs YARN. Para garantir a coleta de logs YARN consecutivos, você pode usar uma tarefa cron para agendar o coletor de log em um intervalo de tempo adequado. Por exemplo, para um cluster Hadoop com 2,000 aplicativos diários e a configuração yarn.resourcemanager.max-completed-applications definida como 1,000, teoricamente, você deve executar o coletor de log pelo menos duas vezes para obter todos os logs YARN. Além disso, recomendamos coletar pelo menos 7 dias de logs YARN para analisar cargas de trabalho holísticas.
Para obter mais detalhes sobre como configurar e agendar o coletor de log, consulte o repositório GitHub de coletor de log de fios.
Transforme os logs do histórico de tarefas do YARN de JSON para CSV
Depois de obter logs YARN, execute um organizador de log YARN, yarn-log-organizer.py, que é um analisador para transformar logs baseados em JSON em arquivos CSV. Esses arquivos CSV de saída são as entradas para o analisador de log YARN. O analisador também possui outros recursos, incluindo classificação de eventos por tempo, remoção de dedicatórias e mesclagem de vários logs.
Para obter mais informações sobre como usar o organizador de log YARN, consulte o repositório do GitHub do yarn-log-organizer.
Analisar os logs do histórico de tarefas do YARN
Em seguida, você inicia o analisador de log YARN para analisar os logs YARN no formato CSV.
Com o QuickSight, você pode visualizar os dados de log do YARN e realizar análises em relação aos conjuntos de dados gerados por modelos de painel pré-construídos e um widget. O widget cria automaticamente painéis do QuickSight na conta de destino da AWS, que é configurada em um modelo do CloudFormation.
O diagrama a seguir ilustra a arquitetura HMDK TCO.
O analisador de log YARN fornece quatro funcionalidades principais:
- Carregue logs de histórico de trabalho YARN transformados em formato CSV (por exemplo,
cluster_yarn_logs_*.csv
) A Serviço de armazenamento simples da Amazon (Amazon S3). Esses arquivos CSV são as saídas do organizador de log YARN. - Crie um arquivo JSON de manifesto (por exemplo,
yarn-log-manifest.json
) para QuickSight e carregue-o no bucket S3: - Implante painéis QuickSight usando um modelo CloudFormation, que está no formato YAML. Após a implantação, escolha o ícone de atualização até ver o status da pilha como
CREATE_COMPLETE
. Esta etapa cria conjuntos de dados em painéis do QuickSight em sua conta de destino da AWS. - No painel do QuickSight, você pode encontrar informações sobre as cargas de trabalho Hadoop analisadas em vários gráficos. Esses insights ajudam você a projetar futuras instâncias de EMR para aceleração de migração, conforme demonstrado na próxima etapa.
Projetar um cluster EMR para migração
Os resultados do analisador de log YARN ajudam você a entender as cargas de trabalho reais do Hadoop no sistema existente. Esta etapa acelera o projeto de futuras instâncias EMR para migração usando um Modelo do Excel. O modelo contém uma lista de verificação para realizar análise de carga de trabalho e planejamento de capacidade:
- Os aplicativos em execução no cluster estão sendo usados adequadamente com sua capacidade atual?
- O cluster está sob carga em um determinado momento ou não? Se sim, quando é a hora?
- Quais tipos de aplicativos e mecanismos (como MR, TEZ ou Spark) estão em execução no cluster e qual é o uso de recursos para cada tipo?
- Os diferentes ciclos de execução de tarefas (tempo real, lote, ad hoc) estão sendo executados em um cluster?
- Algum trabalho está sendo executado em lotes regulares e, em caso afirmativo, quais são esses intervalos de programação? (Por exemplo, a cada 10 minutos, 1 hora, 1 dia.) Você tem trabalhos que usam muitos recursos durante um longo período de tempo?
- Algum trabalho precisa de melhoria de desempenho?
- Há organizações ou indivíduos específicos monopolizando o cluster?
- Algum trabalho misto de desenvolvimento e operação está operando em um cluster?
Depois de concluir a lista de verificação, você entenderá melhor como projetar a arquitetura futura. Para otimizar o custo-benefício do cluster EMR, a tabela a seguir fornece diretrizes gerais para escolher o tipo adequado de cluster EMR e Amazon Elastic Compute Nuvem (Amazon EC2).
Para escolher o tipo de cluster adequado e a família de instâncias, você precisa executar várias rodadas de análise nos logs YARN com base em vários critérios. Vejamos algumas métricas importantes.
Timeline
Você pode encontrar padrões de carga de trabalho com base no número de aplicativos Hadoop executados em uma janela de tempo. Por exemplo, os gráficos diários ou horários “Count of Records by Startedtime” fornecem os seguintes insights:
- Nos gráficos de séries temporais diárias, você compara o número de execuções de aplicativos entre dias úteis e feriados e entre dias corridos. Se os números forem semelhantes, significa que as utilizações diárias do cluster são comparáveis. Por outro lado, se o desvio for grande, a proporção de empregos ad hoc é significativa. Você também pode descobrir os possíveis trabalhos semanais ou mensais em dias específicos. Na situação, você pode ver facilmente dias específicos em uma semana ou mês com alta concentração de carga de trabalho.
- Em gráficos de séries temporais por hora, você entende melhor como os aplicativos são executados em janelas horárias. Você pode encontrar horários de pico e fora de pico em um dia.
Utilizadores
Os logs do YARN contêm o ID do usuário de cada aplicativo. Essas informações ajudam a entender quem envia um aplicativo para uma fila. Com base nas estatísticas de execuções de aplicativos individuais e agregados por fila e por usuário, você pode determinar a distribuição de carga de trabalho existente por usuário. Normalmente, os usuários da mesma equipe têm filas compartilhadas. Às vezes, várias equipes compartilham filas. Ao projetar filas para usuários, agora você tem insights para ajudá-lo a projetar e distribuir cargas de trabalho de aplicativos mais equilibradas nas filas do que antes.
Tipos de aplicativos
Você pode segmentar cargas de trabalho com base em vários tipos de aplicativos (como Hive, Spark, Presto ou HBase) e executar mecanismos (como MR, Spark ou Tez). Para cargas de trabalho pesadas de computação, como tarefas MapReduce ou Hive-on-MR, use instâncias otimizadas para CPU. Para cargas de trabalho com uso intensivo de memória, como trabalhos Hive-on-TEZ, Presto e Spark, use instâncias com otimização de memória.
Tempo decorrido
Você pode categorizar aplicativos por tempo de execução. O modelo integrado do CloudFormation cria automaticamente um campo elapsedGroup em um painel do QuickSight. Isso permite que um recurso importante permita que você observe trabalhos de execução longa em um dos quatro gráficos nos painéis do QuickSight. Portanto, você pode projetar arquiteturas futuras personalizadas para esses grandes trabalhos.
Os painéis correspondentes do QuickSight incluem quatro gráficos. Você pode detalhar cada gráfico, que está associado a um grupo.
Grupo Sessão |
Tempo de execução/tempo decorrido de um trabalho |
1 | Menos de 10 minutos |
2 | Entre 10 minutos e 30 minutos |
3 | entre 30 minutos e 1 hora |
4 | Maior que 1 hora |
No gráfico do Grupo 4, você pode se concentrar em examinar trabalhos grandes com base em várias métricas, incluindo usuário, fila, tipo de aplicativo, linha do tempo, uso de recursos e assim por diante. Com base nessa consideração, você pode ter filas dedicadas em um cluster ou um cluster EMR dedicado para trabalhos grandes. Enquanto isso, você pode enviar pequenos trabalhos para filas compartilhadas.
Recursos
Com base nos padrões de consumo de recursos (CPU, memória), você escolhe o tamanho certo e a família de instâncias do EC2 para desempenho e economia. Para aplicativos com uso intensivo de computação, recomendamos instâncias de famílias otimizadas para CPU. Para aplicativos com uso intensivo de memória, as famílias de instâncias com otimização de memória são recomendadas.
Além disso, com base na natureza das cargas de trabalho do aplicativo e na utilização de recursos ao longo do tempo, você pode escolher um cluster EMR persistente ou transitório, Amazon EMR no EKSou Amazon EMR sem servidor.
Depois de analisar os logs do YARN por várias métricas, você está pronto para projetar futuras arquiteturas de EMR. A tabela a seguir lista exemplos de clusters EMR propostos. Você pode encontrar mais detalhes no repositório GitHub de calculadora tco otimizada.
Calcular TCO
Por fim, em sua máquina local, execute tco-input-generator.py para agregar os logs do histórico de tarefas do YARN a cada hora antes de usar um modelo do Excel para calcular o TCO otimizado. Essa etapa é crucial porque os resultados simulam as cargas de trabalho do Hadoop em futuras instâncias do EMR.
O pré-requisito da simulação de TCO é executar tco-input-generator.py
, que gera logs agregados por hora. Em seguida, você abre um arquivo de modelo do Excel para habilitar macros e fornecer suas entradas em células verdes para calcular o TCO. Em relação aos dados de entrada, você insere o tamanho real dos dados sem replicação e as especificações de hardware (vCore, mem) do nó primário Hadoop e dos nós de dados. Você também precisa selecionar e carregar logs agregados por hora gerados anteriormente. Depois de definir as variáveis de simulação de TCO, como região, tipo de EC2, alta disponibilidade do Amazon EMR, efeito do mecanismo, Amazon EC2 e desconto do Amazon EBS (EDP), desconto de volume do Amazon S3, taxa de moeda local e relação de preço principal/tarefa do EMR EC2 e preço/hora, o simulador de TCO calcula automaticamente o custo ideal de futuras instâncias de EMR no Amazon EC2. As capturas de tela a seguir mostram um exemplo de resultados HMDK TCO.
Para obter informações adicionais e instruções de cálculos HMDK TCO, consulte o repositório GitHub de calculadora tco otimizada.
limpar
Depois de concluir todas as etapas e concluir o teste, conclua as etapas a seguir para excluir recursos e evitar custos:
- No console do AWS CloudFormation, escolha a pilha que você criou.
- Escolha Apagar.
- Escolha Excluir pilha.
- Atualize a página até ver o status
DELETE_COMPLETE
. - No console do Amazon S3, exclua o bucket S3 que você criou.
Conclusão
A ferramenta AWS ProServe HMDK TCO reduz significativamente os esforços de planejamento de migração, que são as tarefas demoradas e desafiadoras de avaliar suas cargas de trabalho do Hadoop. Com a ferramenta HMDK TCO, a avaliação geralmente leva de 2 a 3 semanas. Você também pode determinar o TCO calculado de futuras arquiteturas EMR. Com a ferramenta HMDK TCO, você pode entender rapidamente suas cargas de trabalho e padrões de uso de recursos. Com os insights gerados pela ferramenta, você está equipado para projetar arquiteturas EMR futuras ideais. Em muitos casos de uso, um TCO de 1 ano da arquitetura refatorada otimizada fornece economia significativa de custos (redução de 64 a 80%) em computação e armazenamento, em comparação com as migrações do Hadoop lift-and-shift.
Para saber mais sobre como acelerar suas migrações do Hadoop para o Amazon EMR e a ferramenta HMDK CTO, consulte o Hadoop Migration Delivery Kit TCO repositório GitHub, ou entre em contato AWS-HMDK@amazon.com.
Sobre os autores
Parque Sungyoul é gerente de prática sênior da AWS ProServe. Ele ajuda os clientes a inovar seus negócios com os serviços AWS Analytics, IoT e AI/ML. Ele é especializado em serviços e tecnologias de big data e tem interesse em criar juntos resultados de negócios para clientes.
Jiseong Kim é Arquiteto de Dados Sênior na AWS ProServe. Ele trabalha principalmente com clientes corporativos para ajudar na migração e modernização do data lake e fornece orientação e assistência técnica em projetos de big data, como Hadoop, Spark, armazenamento de dados, processamento de dados em tempo real e aprendizado de máquina em grande escala. Ele também entende como aplicar tecnologias para resolver problemas de big data e construir uma arquitetura de dados bem projetada.
George Zhao é Arquiteto de Dados Sênior na AWS ProServe. Ele é um líder de análise experiente que trabalha com clientes da AWS para fornecer soluções de dados modernas. Ele também é um especialista em domínio ProServe Amazon EMR que capacita consultores ProServe sobre melhores práticas e kits de entrega para migrações de Hadoop para Amazon EMR. Sua área de interesse são data lakes e entrega de arquitetura de dados moderna em nuvem.
Kalen Zhang foi líder técnico do segmento global de dados e análises de parceiros na AWS. Como consultora confiável de dados e análises, ela selecionou iniciativas estratégicas para transformação de dados, liderou programas de migração e modernização de carga de trabalho de dados e análises e acelerou jornadas de migração de clientes com parceiros em escala. Ela é especializada em sistemas distribuídos, gerenciamento de dados corporativos, análises avançadas e iniciativas estratégicas de grande escala.
- 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/deep-dive-into-the-aws-proserve-hadoop-migration-delivery-kit-tco-tool/
- 000
- 1
- 10
- 100
- 7
- a
- Capaz
- Sobre
- acelerar
- acelerado
- acelera
- acelerando
- aceleração
- acessibilidade
- Conta
- em
- Ad
- Adição
- Adicional
- Informação adicional
- Adicionalmente
- avançado
- assessor
- Depois de
- contra
- AI / ML
- Todos os Produtos
- Amazon
- Amazon EC2
- Amazon EMR
- entre
- análise
- analítica
- analisar
- análise
- e
- api
- Aplicação
- aplicações
- Aplicar
- adequadamente
- arquitetura
- ÁREA
- avaliação
- Assistência
- associado
- automaticamente
- disponibilidade
- AWS
- Formação da Nuvem AWS
- baseado
- base
- Porque
- ser
- Benefícios
- MELHOR
- melhores práticas
- Melhor
- entre
- Grande
- Big Data
- brevemente
- construir
- Prédio
- negócio
- calcular
- calculado
- calcula
- cálculo
- Calendário
- chamado
- chamada
- capacidades
- Capacidade
- casos
- Células
- certo
- desafiante
- de cores
- charts
- Escolha
- escolha
- Na nuvem
- Agrupar
- coletar
- Coleta
- coleção
- coletor
- coleta
- COM
- comparável
- comparar
- comparado
- completar
- Computar
- concentrar
- concentração
- Conduzir
- condutor
- Contato
- da conexão
- conecta
- consecutivo
- consideração
- cônsul
- consultores
- consumo
- contém
- Correspondente
- Custo
- economia de custos
- custos
- CPU
- criado
- cria
- critérios
- crucial
- CTO
- comissariada
- Moeda
- Atual
- cliente
- Clientes
- ciclos
- diariamente
- painel de instrumentos
- dados,
- lago data
- gestão de dados
- informática
- conjuntos de dados
- dia
- dias
- dedicado
- profundo
- mergulho profundo
- entregar
- Entrega
- demonstraram
- Implantação
- Design
- concepção
- detalhes
- Determinar
- Desenvolvimento
- desvio
- diferente
- Desconto
- distribuir
- distribuído
- Sistemas distribuídos
- distribuição
- domínio
- down
- durante
- cada
- facilmente
- ebs
- edição
- efeito
- eficácia
- esforços
- incorporado
- permitir
- habilitado
- permite
- end-to-end
- Motor
- Motores
- garantir
- Entrar
- Empreendimento
- clientes corporativos
- equipado
- estabelecer
- Éter (ETH)
- eventos
- Cada
- exemplo
- exemplos
- Excel
- existente
- experiente
- facilitando
- famílias
- família
- Característica
- Funcionalidades
- campo
- Figura
- Envie o
- Arquivos
- Encontre
- acabamento
- seguinte
- formato
- da
- funcionalidades
- mais distante
- futuro
- Geral
- gerado
- gera
- ter
- obtendo
- GitHub
- Global
- Verde
- Grupo
- orientações
- Hadoop
- Hardware
- ajudar
- ajuda
- Alta
- história
- Colméia
- férias
- holística
- HORÁRIO
- Como funciona o dobrador de carta de canal
- Como Negociar
- HTML
- HTTPS
- ÍCONE
- melhoria
- in
- incluir
- Incluindo
- Individual
- indivíduos
- INFORMAÇÕES
- iniciativas
- inovar
- entrada
- insights
- instância
- instruções
- interesse
- interesses
- introduzido
- iot
- IT
- Trabalho
- Empregos
- Viagens
- json
- Chave
- de emergência
- lago
- grande
- em grande escala
- lançamento
- conduzir
- líder
- APRENDER
- aprendizagem
- levou
- Dados Led
- listas
- carregar
- local
- longo
- muito tempo
- olhar
- lote
- máquina
- aprendizado de máquina
- macros
- a Principal
- fazer
- de grupos
- Gerente
- Gerentes
- muitos
- significa
- Entretanto
- Memória
- fusão
- Métrica
- migração
- minutos
- misto
- EQUIPAMENTOS
- modernização
- Mês
- mensal
- mais
- múltiplo
- Natureza
- você merece...
- Próximo
- nó
- nós
- número
- números
- observar
- obtendo
- ONE
- aberto
- operando
- operação
- ideal
- otimizado
- otimizando
- ótimo
- organizações
- Outros
- particular
- parceiro
- Parceiros
- padrões
- Pico
- realizar
- atuação
- significativo
- permissão
- Locais
- planejamento
- platão
- Inteligência de Dados Platão
- PlatãoData
- Privacidade
- possível
- Publique
- prática
- práticas
- pré-requisitos
- anteriormente
- preços
- primário
- Prévio
- problemas
- em processamento
- Programas
- projetos
- adequado
- proposto
- fornecer
- fornece
- Python
- rapidamente
- Taxa
- relação
- alcançar
- pronto
- em tempo real
- dados em tempo real
- recomendar
- Recomenda
- registros
- reduz
- em relação a
- região
- regular
- removendo
- réplica
- recurso
- Recursos
- Resultados
- retenção
- rodadas
- Execute
- corrida
- mesmo
- Poupança
- Escala
- cronograma
- screenshots
- seções
- segmento
- senior
- Série
- Serviços
- conjunto
- contexto
- vários
- compartilhado
- mostrar
- mostrar
- periodo
- de forma considerável
- semelhante
- simples
- simulação
- simulador
- situação
- Tamanho
- pequeno
- So
- Soluções
- RESOLVER
- alguns
- Faísca
- especialista
- especializada
- Especialidade
- específico
- especificações
- pilha
- começado
- estatística
- Status
- Passo
- Passos
- armazenamento
- Estratégico
- enviar
- tal
- Suportado
- .
- sistemas
- mesa
- adaptados
- toma
- Target
- tarefas
- Profissionais
- equipes
- tecnologia
- Dados Técnicos:
- Tecnologias
- modelo
- modelos
- ensaio
- A
- O Futuro
- deles
- assim sendo
- Através da
- tempo
- Séries temporais
- demorado
- linha do tempo
- para
- juntos
- ferramenta
- Transformar
- Transformação
- transformado
- verdadeiro
- confiável
- tipos
- para
- compreender
- compreensão
- entende
- Uso
- usar
- Utilizador
- usuários
- geralmente
- vário
- verificar
- visualização
- volume
- caminhada
- Armazenagem
- semana
- semanal
- semanas
- O Quê
- O que é a
- qual
- QUEM
- Windows
- sem
- de gestão de documentos
- trabalhar
- trabalho
- yaml
- investimentos
- zefirnet