Hadoop-2.7.2: Как управлять ресурсами
Я использую сервер с 16 ядрами, 64 ГБ оперативной памяти, диск 2,5 ТБ, и я хочу выполнить программу Giraph. Я установил hadoop-2.7.2, и я не знаю, как настроить hadoop для использования только частичного количества ресурсов сервера, поскольку сервер используется многими пользователями. Требования: Hadoop должен использовать максимум 12 ядер (=> 4 ядра для NameNode, DataNode, JobTracker, TaskTracker и максимум 8 для задач) и максимум 28 ГБ оперативной памяти (то есть 4*3 ГБ + 8*2 ГБ).
Конфигурация ресурсов моего Yarn-сайта:
<property>
<name>yarn.nodemanager.resource.memory-mb</name>
<value>28672</value>
<description>Physical memory, in MB, to be made available to running containers</description>
</property>
<property>
<name>yarn.nodemanager.resource.cpu-vcores</name>
<value>12</value>
<description>Number of CPU cores that can be allocated for containers.</description>
</property>
</configuration>
Когда я пытаюсь выполнить программу Giraph, в http://localhost:8088/ Yarn Состояние приложения: ACCEPTED: ожидание размещения, запуска AM-контейнера и его регистрации в RM.
Я думаю, что некоторые настройки отсутствуют в моем Yarn-site.xml для адаптации вышеуказанных требований.
1 ответ
Перед назначением ресурсов для сервисов посмотрите файл Руководства по настройке Yarn от Cloudera, вы получите представление о том, сколько ресурсов должно быть выделено для ОС, демонов Hadoop и т. Д.
Как вы упомянули
Состояние приложения пряжи: ПРИНЯТО: ожидание размещения, запуска AM-контейнера и его регистрации в RM.
Если для задания нет доступных ресурсов, то оно будет в состоянии ПРИНЯТО, пока не получит ресурсы. Так что в вашем случае проверьте, сколько заданий отправляется одновременно, и проверьте использование ресурсов для этих заданий.
Если вы хотите настроить не ждать ваших рабочих мест, вы должны рассмотреть возможность создания scheduler queues