Могут ли редукторы и мапперы находиться на одном и том же узле данных?

Я начал читать о больших данных и Hadoop, поэтому этот вопрос может показаться вам очень глупым.

Это то, что я знаю.

Каждый преобразователь обрабатывает небольшой объем данных и выдает промежуточный результат. После этого у нас есть этап перемешивания и сортировки.

Теперь Shuffle = перемещение промежуточного вывода в соответствующие редукторы, каждый из которых имеет дело с определенной клавишей/клавишами.

Итак, может ли в одном узле данных работать код Mapper и Reducer, или у каждого из них разные DN?


person user2441151    schedule 30.12.2013    source источник


Ответы (2)


  1. Терминология: узлы данных предназначены для HDFS (хранилище). Картографы и редукторы (вычислительные) работают на узлах, на которых установлен демон TaskTracker.

  2. Количество мапперов и редукторов на тасктрекер контролируется конфигами: mapred.tasktracker.map.tasks.maximum и mapred.tasktracker.reduce.tasks.maximum

С учетом других ограничений в других конфигурациях, теоретически, если у трекера задач нет максимального количества карт или сокращений задач, ему может быть назначено больше карт или сокращений задач с помощью трекера заданий. Обычно средство отслеживания заданий пытается назначать задачи, чтобы уменьшить количество перемещений данных.

Итак, да, вы можете одновременно запускать мапперы и редукторы на одном и том же узле.

person Simplefish    schedule 30.12.2013

На одном узле могут работать как преобразователи, так и редюсеры. В качестве примера рассмотрим кластер Hadoop с одним узлом. В кластере Hadoop с одним узлом все хранилище HDFS (узлы данных, узлы имен), а также средства отслеживания заданий и средства отслеживания задач работают на одном узле.

В этом случае и преобразователи, и редюсеры работают на одном узле.

person Prabha Satya    schedule 30.12.2013