Выполнение заданий Hadoop в YARN - уничтожение контейнера

У меня проблемы с запуском заданий Hadoop на YARN, конкретно на Ambari. Я новичок в Hadoop, написал работу MR, но не имею опыта администрирования кластеров.

Я пытаюсь запустить пример WordCount для небольшого входного файла (например, 1,4 МБ), и большую часть времени я получаю исключение, подобное следующему:

Application application_1453983463294_0005 failed 2 times due to AM Container for appattempt_1453983463294_0005_000002 exited with exitCode: -104
For more detailed output, check application tracking page:http://hdp-master.nissatech.local:8088/cluster/app/application_1453983463294_0005Then, click on links to logs of each attempt.
Diagnostics: Container [pid=23429,containerID=container_1453983463294_0005_02_000001] is running beyond physical memory limits. Current usage: 264.6 MB of 256 MB physical memory used; 1.9 GB of 537.6 MB virtual memory used. Killing container.

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

YARN был установлен с настройкой по умолчанию Ambari, поэтому я не изменил ни один из параметров. Это небольшой кластер с 4 компьютерами, 3 из которых используются как DataNodes/NodeManager (и имеют RegionServers, которые в данный момент не используются). Каждый работник имеет 4 ГБ оперативной памяти и 4 ядра.

В чем конкретная проблема и как ее решить?

Кроме того, я был бы благодарен за любую ссылку, которая могла бы помочь мне понять, как установить и настроить небольшой кластер (например, до 10 машин). Я имею в виду, какой объем оперативной памяти и процессора использовать.

1 ответ

Решение

Мне кажется, что убитый контейнер - это АМ, а не работа. Это был бы Диспетчер приложений, другими словами, приложение "map-Reduce", работающее на вашей Yarn. Это означает, что независимо от того, насколько простой пример WordCount, он не является контейнером-нарушителем.

Можете ли вы проверить настроенное значение для yarn.app.mapreduce.am.resource.mb? По умолчанию установлено значение 1,5 ГБ, и кажется, что ваш кластер настроен так, чтобы не разрешать контейнеры более 256 МБ. Что настроено yarn.nodemanager.resource.memory-mb?

Я не уверен, как Ambari настроил ресурсы вашего кластера, но похоже, что вам придется настраивать его вручную. Следуйте инструкциям, таким как Как спланировать и настроить YARN и MapReduce 2 в HDP 2.0 или Настройка кластера для MapReduce v2 (YARN).

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