Vídeo: hadoop yarn architecture 2024
Ao contrário de outros componentes do YARN (Yet Another Resource Negotiator), nenhum componente do Hadoop 1 é diretamente direcionado ao Application Master. Em essência, este é o trabalho que o JobTracker fez para cada aplicativo, mas a implementação é radicalmente diferente.
Cada aplicativo que está sendo executado no cluster Hadoop possui sua própria instância dedicada do Application Master, que realmente é executada em um processo de contêiner em um nó escravo (em comparação com o JobTracker, que era um daemon único que funcionava em um nó mestre e rastreado o progresso de todas as aplicações).
Ao longo de sua vida (por exemplo, enquanto o aplicativo está em execução), o Application Master envia mensagens de heartbeat para o Resource Manager com seu status e o estado das necessidades de recursos do aplicativo. Com base nos resultados do agendamento do Gerenciador de recursos, atribui arrendamentos de recursos de contêineres - basicamente as reservas para os contêineres de recursos precisam - para o Mestre de Aplicativos em nós esclave específicos.
O Application Master supervisiona o ciclo de vida completo de um aplicativo, todo o caminho de solicitar os contêineres necessários do Resource Manager para enviar solicitações de locação de contêiner ao NodeManager.
Cada estrutura de aplicativo escrita para o Hadoop deve ter sua própria implementação do Application Master. MapReduce, por exemplo, tem um Mestre de Aplicativos específico projetado para executar tarefas de mapa e reduzir tarefas em seqüência.