Como lançar um aplicativo MapReduce no Hadoop 1
Para ver como a JobTracker e TaskTracker trabalhar juntos para levar a cabo uma acção de MapReduce, dê uma olhada na execução de um aplicativo MapReduce. A figura mostra as interações, e a seguinte lista passo estabelece o play-by-play:
A aplicação cliente envia uma solicitação de pedido ao JobTracker.
O JobTracker determina quantos recursos de processamento são necessários para executar o aplicativo inteiro.
Isso é feito por solicitar os locais e os nomes dos arquivos e blocos de dados que o aplicativo precisa do NameNode e calculando quantas tarefas mapa e reduzir as tarefas serão necessários para processar todos esses dados.
O JobTracker olha para o estado dos nós escravos e filas todas as tarefas de mapa e reduzir as tarefas para execução.
Como slots de processamento tornam-se disponíveis nos nós de escravos, as tarefas de mapa são implantados para os nós escravos.
Mapa tarefas atribuídas aos blocos específicos de dados são atribuídos aos gânglios onde mesmo que os dados são armazenados.
O progresso da tarefa monitores JobTracker, e no caso de uma falha de tarefa ou uma falha de nó, a tarefa é reiniciado no próximo slot disponível.
Se a mesma tarefa falhar após quatro tentativas (que é um valor padrão e pode ser personalizado), todo o trabalho falhará.
Após o mapa tarefas são acabado, reduzir as tarefas processar os conjuntos de resultados provisórios das tarefas do mapa.
O conjunto de resultados é retornado para o aplicativo cliente.
aplicações mais complicadas pode ter várias rodadas de mapeamento / redução fases, onde o resultado de uma rodada é usado como entrada para o segundo turno. Isso é bastante comum com as cargas de trabalho de estilo SQL, onde existem, por exemplo, juntar e group-by operações.