Как восстановить производительность карты has oop уменьшить работу после перехода с hadoop1 на hadoop2 - PullRequest
0 голосов
/ 04 апреля 2020

Имеет oop Карта снижает производительность задания (время выполнения задания) ухудшилось (5 минут-> 15 минут) после миграции с имел oop 1.0.3 -> имел oop 2.8.5

Подробности ниже:

У меня было oop Карта сокращения задания, выполняемого в AWS среде EMR.

Была oop 1.0.3 Подробности среды:
Версия AMI: 2.4.11 oop Версия: 1.0.3

Шаг 1 (только 1 шаг) задания EMR занимает 5 минут для запуска с экземпляром тестирования, состоящим из 1 мастера и 1 ядро ​​(aws терминология). В панели управления oop у меня есть приложение, состоящее из одного задания.

  • Число задач Nuber of Mapper в работе: 524
  • Количество задач редуктора в работе: 7
  • Конфигурации машины (R3.2xlarge: 8VCPU, 61Gib RAM, 160GB SSD)

Имеет oop 2.8.5 Детали среды:

In В среде oop 2.8.5 одно и то же задание mapreduce требует ~ 15 минут для запуска со всеми одинаковыми конфигурациями (1master, 1 ядро)

  • Количество задач Mapper в работа: 524
  • Количество задач редуктора в работе: {3,7} // Пробовал с 3 и 7 редукторами
  • Конфигурации машины (R5.2xlarge: 8VCPU, 64 ГБ ОЗУ, 350 ГБ EBS )

Значения конфигурации

  • yarn.scheduler.minimum-selection-mb = 32
  • yarn.scheduler.maximum-alloc-mb = 57344

    • Другая информация о выполнении задания с заданием oop 2.8.5 MR
    • Прошло: 15 минут, 5se c
    • Диагностика:
    • Среднее время карты 7se c* 10 55 *
    • Среднее время перемешивания 10 минут, 51 с c
    • Среднее время объединения 0se c
    • Среднее время уменьшения 0se c

Что я пробовал: Настроил следующие настройки, но производительность с точки зрения время выполнения задания не меняется ни в одном сценарии. Совместное использование значений одного из сценариев ios проверено

  • mapreduce.map. java .opts = -Xmx5734m
  • mapreduce.reduce. java .opts = Xmx11468m

Ниже я упоминаю различные пробованные комбинации

  • mapreduce.map.memory.mb = {4163, 9163, 7163}
  • mapreduce.reduce.memory.mb = {2584, 6584, 3584}

Поскольку в hadoop2 произошли архитектурные изменения менеджера ресурсов, я поэкспериментировал с этим, но есть ли что-то, чего мне не хватает. Мой уровень владения языком: oop: для начинающих

1 Ответ

0 голосов
/ 24 апреля 2020

Проблема была проблема с маленьким файлом в Had oop map-Reduce. В Had oop V1.0.3 эта проблема была затенена при возобновлении работы контейнеров JVM (mapred.job.reuse.jvm.num.tasks).

Однако в Had oop V2, повторное использование контейнера JVM не допускается. Использование режима Uber также нецелесообразно, так как он будет последовательно запускать все задачи карты в контейнере ApplicationMaster.

Использование CombineTextInputFormat.setMaxInputSplitSize(job, bytes) решило проблему с небольшими файлами, поскольку оно создало логическое разбиение на основе количества байтов, предоставленных как аргумент.

https://hadoop.apache.org/docs/r2.4.1/api/org/apache/hadoop/mapreduce/lib/input/CombineFileInputFormat.html

...