2015-10-15 3 views
0

Я работаю или очень отличное решение по вычислительной разгрузке, я могу очень хорошо это сделать с помощью специального программирования в C++/java, но я в поиске того же можно сделать в hadoop или любой другой системе? Я много искал, но ничего достойного я не нашел.может отображать и сокращать рабочие места на разных машинах?

Как мы знаем, нормальный Hadoop работу сделали с Картой и Уменьшить фазы, где оба работающих на машине, которые имеющая почти такие же мощность, на этапе карты мы не нужна сила, и это может быть переложено на дешевый товарного оборудования, такого как RaspberryPI, в то время как сокращение должно работать на сильной машине.

так что можно изолировать эти 2 фазы и сообщить им машину?

+0

Я не уверен, что вы можете настроить hadoop для запуска карты/сокращения на разных хостах всегда, но подумайте о локальности данных , который является основным драйвером для запуска обеих этапов на одном и том же хосте –

+0

местность данных также является виртуальной в сегодняшнем мире, вам не кажется? что я установил большой 1tb hdd в RPi? довольно возможно. –

+0

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

ответ

1

На каждом узле вы можете создать файл mapred-site.xml, чтобы переопределить любые настройки по умолчанию. Эти настройки будут применяться только к этому узлу (отслеживание задач).

Для каждого узла может затем указать значения для

  1. mapreduce.tasktracker.reduce.tasks.maximum
  2. mapreduce.tasktracker.map.tasks.maximum

На узлах, где вы только хотите выполнить задачи сокращения, задайте максимальные задачи карты 0 и наоборот.

Вот это list of configuration options

0

Редуктор рабочие места могут работать на другом узле, но то, что является преимуществом в управлении Reducer работу на мощной машине?

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

Точная настройка карты уменьшить работу сложнее части в зависимости от

1) Вашего размера входного

2) Время, затраченное на Mapper, чтобы завершить работу Карты

3) Установкой количества Карты & Редуктор работы

т.д.

Помимо изменений конфигурации предложено G Erhard, Посмотрите на некоторые советы для тонкой настройки производительности Job

Советы настраивать количество карты и уменьшить задачи надлежащим образом

Диагностика/симптомы:

1) Каждая карта или Сократите выполнение задач менее чем за 30-40 секунд.

2) Большое задание не использует все доступные слоты в кластере.

3) После того, как запланировано большинство карт или редукторов, один или два остаются в ожидании, а затем запускаются в полном одиночестве.

Важным является настройка количества карт и сокращение задач для работы. Некоторые советы.

1) Если каждая задача занимает менее 30-40 секунд, уменьшите количество задач.

2) Если задание имеет более 1 ТБ ввода, рассмотрите возможность увеличения размера блока входного набора данных до 256 М или даже 512 М, чтобы количество задач было меньше.

3) До тех пор, пока каждая задача выполняется не менее 30-40 секунд, увеличьте количество задач сопоставления до некоторого кратного числа слотов карттера в кластере.

4) Не планируйте слишком много задач сокращения - для большинства заданий. Количество задач сокращения должно быть равно или бит меньше, чем количество слотов уменьшения в кластере.

Если вы все еще хотите иметь различную конфигурацию, посмотрите на эту question и Wiki link

EDIT:

Configure mapred.map.tasks в 1.x (или mapreduce.job. карты в версии 2.x) & mapred.reduce.tasks в 1.x (или mapreduce.job.reduces в версии 2.x) соответственно в ваших узлах в зависимости от конфигурации оборудования. Настройте больше редукторов в лучших аппаратных узлах. Но прежде чем настраивать эти параметры, убедитесь, что вы позаботились о размере INPUT, времени обработки карты и т. Д.

+0

, как сказано в вопросе, задания на работу не нуждаются в большой мощности, в то время как сокращение потребляет гораздо больше энергии, вопрос о том, как мы можем снизить стоимость кластера, выгружая простую задачу на дешевое оборудование, получили? –

+0

Настройте mapred.map.tasks & mapred.reduce.tasks соответственно в ваших узлах VM в зависимости от конфигурации оборудования. Настройте больше редукторов в лучших аппаратных узлах. –

+0

Настроить mapred.map.tasks в 1.x (или mapreduce.job.maps в версии 2.x) и mapred.reduce.tasks в 1.x (или mapreduce.job.reduces в версии 2.x) соответственно в вашем узлов в зависимости от конфигурации оборудования –