2013-11-16 4 views
7

Узел в моем кластере YARN имеет 64 ГБ памяти и 24 ядра. Я установил следующие свойства в нити-site.xml:Как увеличить количество контейнеров в nodemanager в YARN

<property> 
    <name>yarn.nodemanager.resource.memory-mb</name> 
    <value>32768</value> 
</property> 
<property> 
    <name>yarn.nodemanager.resource.cpu-vcores</name> 
    <value>16</value> 
</property> 

Но я до сих пор нашел nodemanager в узле имеет только 7 контейнеров. Какие другие свойства мне нужно установить?

ответ

13

Вы должны сказать НИТИ, как сломать память к контейнерам так, например, если вы установите память на контейнер 2 Гб даст вам 16 контейнеров

<name>yarn.scheduler.minimum-allocation-mb</name> 
<value>2048</value> 
+0

Спасибо. Ваш ответ заставил меня понять, что у меня была опечатка в моем параметре memory-mb (я использовал символ подчеркивания вместо тире между памятью и mb). – kee

+0

У меня есть 7 узлов в моем кластере [8 ГБ оперативной памяти и 4 ВПЧ для каждого узла]. Есть mapreduce.jobsubmitter: количество входных расщеплений: 34 для моего приложения. Мое приложение сбой при исключении из контейнера-запуска: ExitCodeException exitCode = 134:/bin/bash: строка 1: 3876 Aborted (core dumped). Как это можно избежать? Какова будет моя конфигурация в ampred-site.xml? – Tariq

+0

@Arnon Rotem-Gal-Oz: Hadoop/YARN новичок здесь. OP имеет 64 ГБ памяти. Если мы распределяем 2048 МБ (т. Е. 2 ​​ГБ) в каждый контейнер, он должен получить 64/2 = 32 контейнера. Можете ли вы объяснить, почему 16? Благодарю. – Bhushan

0

попробовать что-то вроде:

<property> 
    <name>mapreduce.map.memory.mb</name> 
    <value>1024</value>  
    </property> 

    <property> 
    <name>mapreduce.reduce.memory.mb</name> 
    <value>2048</value>  
    </property>