Entendendo Fios Hadoop
On Dezembro 9, 2021 by adminYARN – Outro Negociador de Recursos, é uma parte da versão Hadoop 2, é um dos dois principais componentes do Apache Hadoop (com HDFS). Ele planeja o uso dos recursos do cluster assim como os tratamentos aplicados aos dados.
Acima está a arquitetura básica do Fio, onde o Resource Manager é o componente central de toda a arquitetura, que é responsável pelo gerenciamento dos recursos incluindo RAMs, CPUs e outros recursos em todo o cluster. O Application Master é responsável pela programação de aplicações ao longo do ciclo de vida, o Node Manager é responsável pelo fornecimento e isolamento de recursos neste nó.
O Resource Manager: ele controla a gestão de recursos do cluster, também toma decisões de alocação. O gerenciador de recursos tem dois componentes principais: Scheduler e Gerenciador de Aplicações.
- O Agendador: é chamado de YarnScheduler, que permite diferentes políticas para gerenciar restrições como capacidade, justiça e acordos de nível de serviço.
- O Gerenciador de Aplicações: é responsável por manter uma lista de aplicações submetidas. Depois que a aplicação é submetida pelo cliente, o gerenciador de aplicação primeiro valida se a necessidade de recursos da aplicação para seu mestre de aplicação pode ser satisfeita ou não. Se recursos suficientes estiverem disponíveis, então ele encaminha a aplicação para o agendador, caso contrário a aplicação será rejeitada.
O Gerenciador de Nó: é responsável por lançar e gerenciar containers em um nó. Os containers executam tarefas como especificado pelo AppMaster.
- O container: Significa um recurso alocado a um ApplicationMaster. ResourceManager é responsável por emitir recurso/contêiner para um ApplicationMaster. e refere-se a uma coleção de recursos como memória, CPU, disco e IO.
- O Application Master: é uma instância de uma biblioteca específica de framework que negocia recursos do Resource Manager e trabalha com o NodeManager para executar e monitorar os recursos concedidos (empacotados como containers) para uma determinada aplicação. Uma aplicação pode ser mapeada, hive framework…
Passos de execução de aplicações com YARN:
- Um cliente submete uma aplicação ao YARN ResourceManager.
- O ApplicationManager (no ResourceManager) negocia um container e inicia a instância ApplicationMaster para a aplicação.
- O ApplicationMaster se registra com o ResourceManager e solicita containers(RAMs e CPUs).
- O ApplicationMaster se comunica com os NodeManagers para iniciar os containers que lhe foram concedidos.
- O ApplicationMaster gerencia a execução da aplicação. Durante a execução, a aplicação fornece informações de progresso e status para o ApplicationMaster. O cliente pode monitorar o status da aplicação consultando o ResourceManager ou comunicando-se diretamente com o ApplicationMaster.
- O ApplicationMaster reporta a conclusão da aplicação ao ResourceManager.
- O ApplicationMaster desregistra com o ResourceManager, que então limpa o contêiner do ApplicationMaster.
O Agendador de Fios :
O Agendador tem uma política plugável que é responsável por dividir os recursos do cluster entre as várias filas, aplicações, etc.
2. FIFO scheduler
O Scheduler FIFO é uma das primeiras estratégias de implantação utilizadas pelo Hadoop, e pode ser simplesmente interpretado como uma fila Java, o que significa que só pode haver um trabalho no cluster ao mesmo tempo. Todas as aplicações são executadas na ordem de submissão, e a tarefa após a conclusão da tarefa anterior será executada na ordem da fila.
Este agendador permite que aplicações curtas terminem em tempo razoável, sem que as aplicações de longa duração passem fome.
2. Agendador de capacidade
O Agendador de capacidade é um agendador plugável para o Hadoop que permite que vários locatários compartilhem com segurança um grande cluster. Os recursos são alocados às aplicações de cada locatário de uma forma que utiliza plenamente o cluster, governado pelas restrições das capacidades alocadas.
As filas são normalmente configuradas pelos administradores para refletir a economia do cluster compartilhado. O Agendador de Capacidade suporta filas hierárquicas para garantir que os recursos sejam compartilhados entre as subfilas de uma organização antes que outras filas possam usar recursos livres.
>
3. O Agendador Justo
>
O FairScheduler é um agendador plugável para o Hadoop que permite que as aplicações YARN compartilhem os recursos em um grande cluster de forma justa. O FairScheduler é um método de atribuição de recursos a aplicações de forma a que todas as aplicações obtenham, em média, uma quota igual de recursos ao longo do tempo.
Deixe uma resposta