Vídeo: Azure Friday | Apache Kafka on HDInsight 2024
O planejamento de tarefas e o rastreamento de dados importantes são partes integrantes do Hadoop MapReduce e podem ser usados para gerenciar recursos e aplicativos. As primeiras versões do Hadoop suportaram um sistema rudimentar de trabalho e rastreamento de tarefas, mas como a combinação de trabalho suportado pelo Hadoop mudou, o planejador não conseguiu acompanhar.
Em particular, o antigo agendador não conseguiu gerenciar trabalhos não MapReduce e era incapaz de otimizar a utilização do cluster. Assim, uma nova capacidade foi projetada para resolver essas falhas e oferecer mais flexibilidade, eficiência e desempenho.
Contudo, outro negociador de recursos (YARN) é um serviço central do Hadoop que fornece dois serviços principais:
-
Gerenciamento de recursos globais (ResourceManager)
-
Gerenciamento por aplicativo (ApplicationMaster)
ResourceManager é um serviço mestre e controle NodeManager 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 monitora ou rastreia o status do aplicativo.
Todas as informações necessárias do sistema são armazenadas em um Content container. Ele contém CPU detalhada, disco, rede e outros atributos de recursos importantes necessários para executar aplicativos no nó e no cluster.
Cada nó possui um NodeManager escravizado no ResourceManager global no cluster. O NodeManager monitora o uso da CPU, disco, rede e memória do aplicativo e reporta ao ResourceManager. Para cada aplicativo executado no nó, há um ApplicationMaster correspondente.
Se mais recursos forem necessários para suportar o aplicativo em execução, o ApplicationMaster notifica o NodeManager eo NodeManager negociam com o ResourceManager (Scheduler) para a capacidade adicional em nome do aplicativo. O NodeManager também é responsável pelo rastreamento do status do trabalho e do progresso dentro do nó.