Gerenciar grandes recursos de dados e aplicações com fio hadoop
programação de trabalho e rastreamento de dados grandes são partes integrantes do Hadoop MapReduce e pode ser usado para gerenciar os recursos e aplicações. As primeiras versões do Hadoop apoiou um sistema de rastreamento de trabalho e tarefa rudimentar, mas como a mistura de trabalho apoiado pela Hadoop alterado, o programador não poderia manter-se.
Em particular, o antigo programador não conseguia empregos não-MapReduce, e foi incapaz de otimizar a utilização cluster. Assim, um novo recurso foi projetado para resolver estas deficiências e oferecer mais flexibilidade, eficiência e desempenho.
Yet Another Resource Negotiator (FIO) é um serviço Hadoop núcleo oferecendo dois serviços principais:
gestão de recursos global (ResourceManager)
Per-aplicação de gestão (ApplicationMaster)
O ResourceManager é um NodeManager de serviço principal e de controlo em cada um dos nós de um cluster Hadoop. Incluído no ResourceManager é Scheduler, cuja única tarefa é alocar recursos do sistema para aplicativos em execução específicos (tarefas), mas não monitorar ou controlar o status do aplicativo.
Todas as informações sistema necessário é armazenado em um recipiente de recursos. Ele contém CPU detalhado, disco, rede e outros recursos importantes atributos necessários para executar aplicações no nó e no cluster.
Cada nó tem um NodeManager escravizado ao ResourceManager global no cluster. O NodeManager monitora a utilização da aplicação de CPU, disco, rede e memória e relatórios de volta para o ResourceManager. Para cada aplicação em execução no nó existe um ApplicationMaster correspondente.
Se mais recursos são necessários para apoiar a aplicação em execução, o ApplicationMaster notifica o NodeManager eo NodeManager negocia com o ResourceManager (Scheduler) para a capacidade adicional em nome da aplicação. O NodeManager também é responsável pelo acompanhamento de status do trabalho e do progresso no nó.