Acompanhando JobTracker e TaskTracker em Hadoop 1

processamento de MapReduce no Hadoop 1 é tratada pelos daemons JobTracker e TaskTracker. O JobTracker mantém uma visão de todos os recursos de processamento disponíveis no cluster Hadoop e, como pedidos de aplicação entrar, ele agenda e implanta-los para os gânglios TaskTracker para execução.

Como os aplicativos estão em execução, o JobTracker recebe atualizações de status dos nós TaskTracker para acompanhar o seu progresso e, se necessário, coordenar a movimentação de quaisquer falhas. O JobTracker precisa ser executado em um nó master do cluster Hadoop, uma vez que coordena a execução de todos os aplicativos MapReduce no cluster, por isso é um serviço de missão crítica.

Uma instância do daemon TaskTracker é executado em cada nó escravo no cluster Hadoop, o que significa que cada nó escravo tem um serviço que amarra ao tratamento (TaskTracker) e à armazenagem (DataNode), que permite Hadoop para ser um sistema distribuído.

Como um processo escravo, o TaskTracker recebe solicitações de processamento do JobTracker. A sua principal missão é acompanhar a execução de cargas de trabalho MapReduce acontecendo localmente no seu nó escravo e enviar atualizações de status para o JobTracker.

TaskTrackers gerir os recursos de processamento em cada nó escravo sob a forma de processamento de ranhuras - os slots definidos para tarefas mapa e reduzir as tarefas, para ser exato. O número total de mapa e reduzir ranhuras indica quantas mapa e reduzir as tarefas podem ser executadas de uma só vez no nó escravo.

Quando se trata de afinar um cluster Hadoop, definindo o número óptimo de mapa e reduzir ranhuras é crítica. O número de slots deve ser cuidadosamente configurado baseado na memória disponível, disco e recursos de CPU em cada nó escravo. A memória é o mais crítico destas três recursos do ponto de vista do desempenho. Como tal, o número total de slots de tarefa precisa ser equilibrada com a quantidade máxima de memória alocada para o tamanho da pilha Java.

Tenha em mente que cada mapa e reduzir a tarefa gera sua própria máquina virtual Java (JVM) e que a pilha representa a quantidade de memória que está alocado para cada JVM. A proporção de ranhuras para reduzir mapa ranhuras também é uma consideração importante.

Por exemplo, se você tem muitos slots de mapa e não o suficiente reduzir ranhuras para as suas cargas de trabalho, mapa ranhuras tende a ociosa, enquanto os seus postos de trabalho estão à espera de reduzir ranhuras para se tornar disponível.

conjuntos distintos de slots são definidos para tarefas mapa e reduzir as tarefas, porque eles usam recursos de computação de forma bastante diferente. tarefas mapa são atribuídos com base na localidade de dados, e eles dependem muito do disco I / O e CPU. tarefas reduzem são atribuídos com base na disponibilidade, não na localidade, e dependem fortemente de banda de rede, porque eles precisam para receber a saída de tarefas do mapa.

menu