Приложение mapreduce, которое имеет только 17000+ задач карты, работает очень медленно на пряже после завершения 16000+ карт

Я использую простой sql(выберите xx,xx... из viewXXX, где xxxxx), используя hive0.13.1 на hadoop2.6.0(фреймворк - MRv2, а не tez). После отправки я обнаружил, что это MR-задание, которое имеет только 17000 задач на карте и не содержит задач сокращения.

Задание выполняется очень быстро в первые 15 минут (все 400+ контейнеров в моем кластере (более 20 узлов) выделяются для выполнения задач в течение этого периода), но после этого становятся очень медленными (другие задания не выполняются в моем кластере).

Я запускаю его пару раз и обнаруживаю, что количество контейнеров, выделенных для задания, уменьшается (не строго, а приблизительно) с течением времени, и примерно через 15 минут количество контейнеров, выделенных для задания, становится 1(что является Контейнер ApplicationMaster)! Тогда AM всегда ждет, пока RM предоставит ему контейнер для запуска задачи карты. RM не занят (не много GC) и имеет много доступных контейнеров (я нахожу это в журнале RM), но он назначает 1 контейнер AM в МИНУТУ. Таким образом, работа, наконец, занимает 7 часов.:(

Любая помощь будет оценена!

0 ответов

Другие вопросы по тегам