Definição - o que significa o JobTracker?
JobTracker é um daemon executado no mecanismo MapReduce do Apache Hadoop. JobTracker é um serviço essencial que distribui todas as tarefas MapReduce para os diferentes nós no cluster, de preferência para aqueles nós que já contêm os dados, ou pelo menos estão localizados no mesmo rack que os nós que contêm os dados.
Definirtec explica JobTracker
JobTracker é o serviço do Hadoop responsável por receber as solicitações do cliente. Ele os atribui a TaskTrackers em DataNodes onde os dados necessários estão presentes localmente. Se isso não for possível, JobTracker tenta atribuir as tarefas a TaskTrackers no mesmo rack onde os dados estão presentes localmente. Se, por algum motivo, isso também falhar, JobTracker atribui a tarefa a um TaskTracker onde existe uma réplica dos dados. No Hadoop, os blocos de dados são replicados entre DataNodes para garantir redundância, de forma que, se um nó do cluster falhar, o trabalho também não falhe.
Processo JobTracker:
- As solicitações de trabalho dos aplicativos do cliente são recebidas pelo JobTracker,
- JobTracker consulta o NameNode para determinar a localização dos dados necessários.
- JobTracker localiza nós TaskTracker que contêm os dados ou pelo menos estão próximos aos dados.
- O trabalho é enviado ao TaskTracker selecionado.
- O TaskTracker executa suas tarefas enquanto é monitorado de perto pelo JobTracker. Se o trabalho falhar, JobTracker simplesmente reenvia o trabalho para outro TaskTracker. No entanto, o próprio JobTracker é um ponto único de falha, ou seja, se ele falhar, todo o sistema ficará inativo.
- JobTracker atualiza seu status quando o trabalho é concluído.
- O solicitante do cliente agora pode pesquisar informações do JobTracker.