Vídeo: hadoop yarn architecture 2024
Cada nó escravo no Yet Another Resource Negotiator (YARN) possui um daemon Node Manager, que atua como um escravo para o Resource Manager. Tal como acontece com o TaskTracker, cada nó escravo possui um serviço que o vincula ao serviço de processamento (Node Manager) e ao serviço de armazenamento (DataNode) que permitem que o Hadoop seja um sistema distribuído.
Cada Gerenciador de Nó rastreia os recursos de processamento de dados disponíveis em seu nó escravo e envia relatórios regulares para o Gerenciador de recursos.
Os recursos de processamento em um cluster Hadoop são consumidos em peças de tamanho mordido chamadas contêineres. Um container é uma coleção de todos os recursos necessários para executar um aplicativo: núcleos de CPU, memória, largura de banda de rede e espaço em disco. Um contêiner implementado é executado como um processo individual em um nó escravo em um cluster Hadoop.
O conceito de um recipiente pode lembrá-lo de um slot , a unidade de processamento usada pelo JobTracker e TaskTracker, mas eles apresentam algumas diferenças notáveis. Mais significativamente, os contêineres são genéricos e podem executar qualquer lógica de aplicação que eles sejam fornecidos, ao contrário dos slots, especificamente definidos para executar o mapa ou reduzir tarefas. Além disso, os contêineres podem ser solicitados com quantidades personalizadas de recursos, enquanto os slots são todos uniformes.
Enquanto o montante solicitado estiver dentro dos limites mínimos e máximos do que é aceitável para um contêiner (e enquanto a quantidade de memória solicitada for um múltiplo do valor mínimo), o Gerenciador de Recursos irá conceder e agendar esse recipiente.
Todos os processos de contêiner executados em um nó escravo são inicialmente provisionados, monitorados e rastreados pelo daemon do Node Manager do nodo escravo.