Arquitetura do fio Hadoop - Vários componentes do fio

Índice:

Anonim

Introdução à arquitetura Hadoop YARN

O MapReduce foi usado para executar o gerenciamento de recursos e o processamento no Hadoop versão 1.0 anterior. Aqui, o Job Tracker executou tarefas de alocação, agendamento e monitoramento de recursos, atribuindo mapa e reduzindo tarefas ao Task Tracker. Isso resultou em questões como escalabilidade, utilização ineficiente de recursos. Como a estrutura do Hadoop passou por várias mudanças ao longo dos anos; podemos ver que ele pode ser usado para executar muito mais do que apenas executar os trabalhos do MapReduce. YARN significa Yet Another Resource Negotiator, chamado sistema de gerenciamento de cluster do Hadoop, que foi introduzido no Hadoop 2.0 para oferecer suporte à computação distribuída, o que também melhora a implementação do MapReduce. No YARN, o gerenciador de recursos e os planejadores são externos à estrutura. Portanto, no YARN, embora tenhamos nós de dados, não há mais Rastreadores de tarefas ou Rastreadores de tarefas. Também com o YARN, podemos ter o Gerenciamento de Recursos e o Planejamento Genérico. Neste tópico, vamos aprender sobre as diferentes arquiteturas do YARN

Explicar a arquitetura do Hadoop YARN com o diagrama

(Arquitetura do Hadoop YARN)

O YARN apresenta o conceito de um Gerenciador de recursos e um mestre de aplicativos no Hadoop 2.0. O Gerenciador de recursos vê o uso dos recursos no cluster Hadoop, enquanto o ciclo de vida dos aplicativos em execução em um cluster específico é supervisionado pelo mestre de aplicativos. Basicamente, podemos dizer que, para recursos de cluster, o Application Master negocia com o Resource Manager. Essa tarefa é realizada pelos contêineres que mantêm restrições de memória definidas. Em seguida, esses contêineres são usados ​​para executar os processos específicos do aplicativo e também são supervisionados pelos gerenciadores de nós que estão em execução nos nós do cluster. Isso confirmará que não mais que os recursos alocados são usados ​​pelo aplicativo.

Vários componentes do fio

Abaixo estão os vários componentes do YARN.

1) Gerente de Recursos

O YARN funciona por meio de um Gerenciador de recursos, um por nó, e o Gerenciador de nós, executado em todos os nós. O Resource Manager gerencia os recursos usados ​​no cluster e o Node Manager almoça e monitora os contêineres. O Agendador e o Gerenciador de Aplicativos são dois componentes do Gerenciador de Recursos.

  • Agendador : O agendamento é realizado com base nos requisitos de recursos dos aplicativos. O YARN fornece poucos agendadores para escolher e eles são agendadores justos e de capacidade. Em caso de falha de hardware ou aplicativo, o Agendador não garante reiniciar as tarefas com falha. Além disso, o Agendador aloca recursos para os aplicativos em execução com base na capacidade e na fila.
  • Application Manager : gerencia a execução do Application Master em um cluster e, na falha do contêiner do Application Master, ajuda na reinicialização. Além disso, é responsável por aceitar a submissão dos trabalhos.

2) Gerenciador de nós

O Node Manager é responsável pela execução da tarefa em cada nó de dados. O Node Manager no YARN, por padrão, envia uma pulsação ao Resource Manager que carrega as informações dos contêineres em execução e a disponibilidade de recursos para os novos contêineres. É responsável por ver os nós no cluster individualmente e gerencia o fluxo de trabalho e as tarefas do usuário em um nó específico. Principalmente, ele gerencia os contêineres de aplicativos atribuídos pelo Gerenciador de Recursos. O Node Manager inicia os contêineres criando os processos de contêiner solicitados e também mata os contêineres, conforme solicitado pelo Gerenciador de Recursos.

3) Recipientes

Os contêineres são um conjunto de recursos como RAM, CPU e memória etc. em um único nó e são agendados pelo Resource Manager e monitorados pelo Node Manager. O ciclo de vida do contêiner gerencia os contêineres YARN usando o contexto de inicialização do contêiner e fornece acesso ao aplicativo para o uso específico de recursos em um host específico.

4) Mestre da Aplicação

Ele monitora a execução de tarefas e também gerencia o ciclo de vida dos aplicativos em execução no cluster. Um mestre de aplicativos individual é associado a um trabalho quando é submetido à estrutura. Sua principal responsabilidade é negociar os recursos do Gerenciador de Recursos. Ele trabalha com o Node Manager para monitorar e executar as tarefas.

Para executar um aplicativo através do YARN, as etapas abaixo são executadas.

  • O cliente entra em contato com o Gerenciador de recursos que solicita a execução do processo de inscrição, ou seja, ele envia a inscrição YARN.
  • A próxima etapa é que o Resource Manager procure um Node Manager que, por sua vez, inicie o Application Master em um contêiner.
  • O Application Master pode executar a execução no contêiner no qual está sendo executado no momento e fornecer o resultado ao cliente ou pode solicitar mais contêineres do gerenciador de recursos, que pode ser chamado de computação distribuída.
  • O cliente entra em contato com o Gerenciador de recursos para monitorar o status do aplicativo.

Com o MapReduce no Hadoop versão 1.0 (MRV1), o número de mapas e os slots de redução foram definidos por nó. Também em um cluster Hadoop, pois os recursos de hardware variavam e o número de tarefas em um nó específico precisava ser limitado manualmente. Porém, com o YARN, essa falha é superada porque aqui o Gerenciador de Recursos conhece a capacidade de cada nó, pois ele se comunica com o Gerenciador de nós, que é executado em cada nó.

Conclusão - Arquitetura Hadoop YARN

O YARN ajuda a superar o problema de escalabilidade do MapReduce no Hadoop 1.0, pois divide o trabalho do Job Tracker, tanto do agendamento de tarefas quanto do monitoramento do progresso das tarefas. Além disso, a questão da disponibilidade também é superada, pois no Hadoop 1.0, a falha do Job Tracker levou ao reinício das tarefas. O YARN veio com muitos bônus adicionais, como melhor utilização de recursos, pois não há slot fixo para tarefas, pois fornece gerenciamento central de recursos. Portanto, com o YARN, muitos dos problemas enfrentados na versão anterior do Hadoop são superados, pois ajudam a separar o processamento de dados do planejamento e gerenciamento de recursos. Com o YARN, é possível executar consultas interativas independentemente, além de fornecer uma melhor análise em tempo real.

Artigos recomendados

Este foi um guia para a arquitetura Hadoop YARN. Aqui discutimos os vários componentes do YARN, que incluem o Resource Manager, o Node Manager e Containers, juntamente com a Arquitetura. Você também pode consultar nossos outros artigos sugeridos para saber mais -

  1. Ecossistema Apache Hadoop
  2. Componentes do ecossistema Hadoop
  3. Componentes do Hadoop
  4. Ecossistema Hadoop