apache hadoop yarn tutorial
Componentes do Hadoop - MapReduce com Hadoop YARN:
Em nosso tutorial anterior sobre o componente Hadoop, aprendemos sobre o Hadoop MapReduce e seu mecanismo de processamento como INPUT, SPLITTING, MAPPING, SHUFFLING, REDUCING e FINAL RESULT.
Neste tutorial, exploraremos:
- Como o Map Reduce funciona com o YARN?
- Fluxo de trabalho do aplicativo Hadoop YARN.
=> Dê uma olhada no guia para iniciantes do BigData aqui.
O que você aprenderá:
Mapa reduzido com Hadoop YARN
Vamos entender como o MapReduce está usando o YARN para executar as tarefas no cluster do Hadoop. Mas antes de prosseguirmos, a primeira pergunta que vem à nossa mente é qual é a forma completa do YARN? Ou o que significa YARN?
FIO significa Mais um negociador de recursos.
É aquele que aloca os recursos para vários trabalhos que precisam ser executados no Hadoop Cluster. Ele foi introduzido no Hadoop 2.0.
Till Hadoop 1.0 MapReduce era a única estrutura ou a única unidade de processamento que pode ser executada no Hadoop Cluster. No entanto, no Hadoop 2.0, o YARN foi introduzido e, usando isso, podemos ir além do MapReduce também.
Como você pode ver no diagrama, temos o HDFS no final, temos o YARN e, usando o YARN, muitos frameworks são capazes de se conectar e utilizar o HDFS. Portanto, até o MapReduce é usado para se conectar usando o YARN para solicitar os recursos e só então pode executar o trabalho no HDFS, ou seja, Hadoop Cluster.
Similarmente; SPARK, STORM e outros mecanismos de pesquisa podem se conectar ao HDFS. HBase, que é um banco de dados No SQL, também pode conectá-lo. Portanto, os aplicativos do HDFS se tornaram enormes, apenas porque o YARN foi capaz de abrir o portal para outras estruturas e outras ferramentas de análise Bigdata também.
Qual é a diferença entre MapReduce Version1 (MRv1) e MapReduce Version2 (MRv2)?
MRv1 era essencialmente uma parte da estrutura Hadoop 1 e com Hadoop 2 YARN entrou em cena e MapReduce foi atualizado para MRv2 com várias alterações nas classes. As classes foram atualizadas, no entanto, a sintaxe de escrita do programa MapReduce permanece a mesma.
Nesse cenário, o MapReduce agora se conecta ao YARN para direcionar o HDFS.
Junto com YARN, Resource Manager e Node Manager são os novos Daemons que foram introduzidos no Hadoop Cluster.
Anteriormente, era o Rastreador de Trabalhos e o Rastreador de Tarefas. No entanto, eles foram removidos do Hadoop 2.0 e o Resource Manager e Node Manager foram introduzidos junto com o YARN na estrutura do Hadoop.
Hadoop 2.x Daemons
Vamos dar uma olhada rápida nos Daemons recém-introduzidos no Hadoop 2.0 que executam os componentes, ou seja, armazenamento e processamento.
como pedir promoção na avaliação de desempenho
No tutorial HDFS, entendemos o Daemon, ou seja, NameNode e DataNode em detalhes. Neste tutorial, vamos entender como o Resource Manager e o Node Manager funcionam no Hadoop 2.x Cluster para gerenciar o processamento e os trabalhos que precisam ser executados no Hadoop Cluster.
Então, o que é o Resource Manager? O Resource Manager é o Master Daemons executado na Master Machine ou o NameNode, que é uma máquina de ponta. O Node Manager, por outro lado, é o Daemon que roda nas Slave Machines ou DataNodes ou junto com o DataNode Process.
Componentes Hadoop 2.x MapReduce YARN
Vamos explorar os outros componentes do YARN abaixo.
- Cliente: É uma unidade que envia a interface de linha de comando (CLI) semelhante a um trabalho, e o cliente pode ser um aplicativo JAVA.
- Gerente de Recursos: É um Master Daemon ao qual todos os trabalhos são enviados do cliente e é o que aloca todos os recursos de nível de cluster para a execução de um determinado trabalho. Ele roda em uma máquina de última geração que possui hardware de boa qualidade e boa configuração, pois é a Máquina Mestre que deve gerenciar tudo no cluster.
- Node Manager : É um Slave Daemon que roda nas Slave Machines ou no DataNode, então cada Slave Machine tem um Node Manager rodando. Ele monitora os recursos de um DataNode específico, o Resource Manager gerencia os recursos do Cluster e o Node Manager gerencia os recursos do DataNode.
- Servidor de histórico de trabalho: É a unidade para manter um controle de todos os trabalhos que foram executados no Cluster ou enviados ao Cluster. Ele também mantém o controle do status e também mantém os arquivos de log de todas as execuções ocorridas no cluster do Hadoop.
- Mestre de Aplicação : É um componente que se executa em Máquina Nó, Máquina Escrava e é criado por um Gerenciador de Recursos para executar e gerenciar um Trabalho. É aquele que negocia os recursos do Resource Manager e por fim se coordena com o Node Manager para executar a tarefa.
- Recipiente: Ele é criado pelo próprio Node Manager que foi alocado pelo Resource Manager e todos os Jobs são finalmente executados dentro do Container.
Fluxo de trabalho do YARN
Conforme mostrado no diagrama acima, há um Gerente de Recursos ao qual todos os trabalhos são submetidos e há um Cluster no qual existem máquinas escravas, e em cada máquina escrava, há um Node Manager correndo.
Gerente de Recursos tem dois componentes, ou seja, Agendador e Gerente de aplicação.
Qual é a diferença entre Application Master e Application Manager?
Gerente de aplicação é um componente de Gerente de Recursos que garante que cada tarefa seja executada e um Mestre de Aplicação é criado para isso. Mestre de aplicativos, por outro lado, é alguém que executa a tarefa e solicita todos os recursos necessários para sua execução.
Digamos que o trabalho seja submetido ao Gerente de Recursos , assim que o trabalho for enviado, o Agendador agenda o trabalho. Uma vez o Agendador agenda o trabalho a ser executado no Gerente de aplicação irá criar um Recipiente em um dos DataNodes , e dentro deste Recipiente, a Mestre de Aplicação será iniciado.
Esta Mestre de Aplicação irá então se registrar com o Gerente de Recursos e pedido de um Recipiente para executar a tarefa. Assim que o Recipiente é alocado, o Mestre de Aplicação agora será conectado com o Node Manager e pedido para lançar o Recipiente .
Como podemos ver, o Mestre de Aplicação foi alocado para DataNodes D e É , e agora este Mestre de Aplicação solicitou o Node Manager para lançar o Recipientes do DataNode D e DataNode E .
Assim que o Recipientes foram lançados, o Mestre de Aplicação irá executar a tarefa dentro do Recipiente e o resultado será enviado de volta para o Cliente .
Fluxo de Aplicação
Vamos entender isso de uma maneira um pouco sequencial.
No diagrama abaixo, temos quatro componentes. O primeiro é o Cliente, o segundo é Gerente de Recursos , o terceiro é Node Manager e a quarta linha contém Mestre de Aplicação .
Então, vamos ver como essas etapas são executadas entre eles.
O primeiro passo é o Cliente quem submete o trabalho ao Gerente de Recursos , na segunda etapa o Gerente de Recursos aloca um Recipiente para iniciar o Mestre de Aplicação no Máquinas escravas ; o terceiro passo é o Mestre de Aplicação registra-se com o Gerente de Recursos .
Assim que se registrar, ele solicita o Recipiente para executar a tarefa, ou seja, a quarta etapa. Na etapa cinco, o Mestre de Aplicação notifica o Node Manager no qual o Recipiente precisa ser lançado.
Na etapa seis, uma vez que o Node Manager lançou o Recipientes, a Mestre de Aplicação irá executar o código dentro destes Recipientes .
Finalmente, na sétima etapa, o Cliente contata o Gerente de Recursos ou o Mestre de Aplicação para monitorar o status do aplicativo.
No final, o Mestre de Aplicação irá cancelar o registro do Gerente de Recursos e o resultado é devolvido ao Cliente . Portanto, este é um fluxo sequencial simples de como um programa MapReduce é executado usando a estrutura YARN.
Conclusão
Portanto, neste tutorial, aprendemos as seguintes dicas:
- FIO significa Mais um negociador de recursos.
- YARN foi introduzido no Hadoop 2.0
- O Resource Manager e o Node Manager foram introduzidos junto com o YARN na estrutura do Hadoop.
- Componentes YARN como cliente, gerenciador de recursos, gerenciador de nós, servidor de histórico de tarefas, mestre de aplicativos e contêiner.
No próximo tutorial, discutiremos as técnicas de teste de BigData e os desafios enfrentados no teste de BigData. Também saberemos como superar esses desafios e todas as formas de contornar para facilitar o teste de BigData.
=> Visite aqui para aprender BigData do zero.
Leitura recomendada
- O que é Hadoop? Tutorial do Apache Hadoop para iniciantes
- 20+ Tutorial do MongoDB para iniciantes: Curso gratuito do MongoDB
- Tutoriais detalhados do Eclipse para iniciantes
- Tutorial de Python para iniciantes (treinamento prático e gratuito em Python)
- Tutorial de Big Data para iniciantes | O que é Big Data?
- Tutorial do LoadRunner para iniciantes (curso aprofundado gratuito de 8 dias)
- Tutorial do Hadoop MapReduce com exemplos | O que é MapReduce?
- Best FREE C # Tutorial Series: The Ultimate C # Guide For Beginners