Processamento distribuído com Hadoop MapReduce

Hadoop MapReduce envolve o processamento de uma sequência de operações em conjuntos de dados distribuídos. Os dados consistem de pares de valores-chave, e os cálculos têm apenas duas fases: a fase de mapa e uma fase de redução. trabalhos MapReduce definidas pelo usuário são executados nos nós de computação no cluster.

De um modo geral, um trabalho de MapReduce é a seguinte:

  1. Durante a fase de mapa, dos dados de entrada é dividido em um grande número de fragmentos, cada um dos quais é atribuído a uma tarefa mapa.

  2. Estas tarefas mapa são distribuídos em todo o cluster.

  3. Cada tarefa mapa processa os pares chave-valor a partir do seu fragmento atribuído e produz um conjunto de pares de valores-chave intermediários.


  4. O conjunto de dados intermediário é classificado por chave, e os dados ordenados é dividido em um número de fragmentos que corresponde ao número de tarefas de redução.

  5. Durante a fase de Reduzir, cada reduzir tarefa processa o fragmento de dados que foi atribuído a ele e produz um par de chaves-valor de saída.

  6. Estes reduzem tarefas também são distribuídos em todo o cluster e escrever sua saída para HDFS quando terminar.

O quadro Hadoop MapReduce no início (pré-versão 2) lançamentos do Hadoop tem um único serviço mestre chamado de JobTracker e vários serviços de escravos chamados TaskTrackers, um por nó no cluster.

Quando você enviar uma tarefa de MapReduce ao JobTracker, o trabalho é colocado em uma fila e, em seguida, é executado de acordo com as regras de programação definidas por um administrador. Como você poderia esperar, o JobTracker gere a atribuição de mapa-e-reduzem as tarefas para as TaskTrackers.

Com Hadoop 2, um novo sistema de gestão de recursos está no lugar chamado de fio (curto para Yet UMAnão ela Resource Manager). FIO fornece serviços de agendamento e gerenciamento de recursos genéricos para que você possa correr mais do que apenas aplicativos MapReduce no seu cluster Hadoop. A arquitetura JobTracker / TaskTracker só poderia executar MapReduce.

HDFS também tem uma arquitetura master / slave:

  • serviço Master: chamado de NameNode, que controla o acesso a arquivos de dados.

  • serviços de escravos: Chamado DataNodes, eles são distribuídos por um nó no cluster. DataNodes gerenciar o armazenamento que está associado com os nós em que são executados, servindo clientes ler e escrever pedidos, entre outras tarefas.

» » » » Processamento distribuído com Hadoop MapReduce