установка размера карты map-reduce без mapred-site.xml - PullRequest
0 голосов
/ 19 ноября 2018

Я выполняю задание mapreduce на сервере и постоянно получаю эту ошибку:

Container killed on request. Exit code is 143
Container exited with a non-zero exit code 143
Container is running beyond physical memory limits. Current usage: 1.0 
GB of 1 GB physical memory used; 2.7 GB of 2.1 GB virtual memory used. 
Killing container.

Конечно, я прочитал все возможные ресурсы и знаю, что мне нужно установить конфигурацию в этих файлах: mapred-site.xml \\ yarn-site.xml

Но наш сервер не позволяет мне перезаписывать эти свойства, и я хочу, чтобы подход сделал это в терминале или в конфигурации моегоПрограмма hadoop.

Я выполнял это задание с помощью куста и смог переписать эти свойства следующим образом:

set HADOOP_HEAPSIZE=4096;
set mapreduce.reduce.memory.mb = 4096;
set mapreduce.map.memory.mb = 4096;
set tez.am.resource.memory.mb=4096;
set yarn.app.mapreduce.am.resource.mb=4096;

Но когда я пишу программу уменьшения карты вместо запроса улья,как я могу изменить их?

Как я могу экспортировать mapreduce.reduce.memory.mb в оболочку, например?

Ответы [ 2 ]

0 голосов
/ 29 ноября 2018

Я решил эту проблему, установив размер памяти в моем скрипте mapreduce следующим образом:

conf.set("mapreduce.map.memory.mb", "4096")
conf.set("mapreduce.reduce.memory.mb", "8192")
conf.set("mapred.child.java.opts", "-Xmx512m")
conf.set("tez.am.resource.memory.mb", "4096")
conf.set("yarn.app.mapreduce.am.resource.mb", "4096")

Будьте осторожны с номером, который вы назначаете для редуктора. Память картографа и памяти редуктора была одинаковой, и я получил ошибку. Это не должно быть то же самое!

0 голосов
/ 19 ноября 2018

Возможно, вам потребуется указать подобное, чтобы добавить набор параметров конфигурации для каждого приложения / задания

export HADOOP_HEAPSIZE=4096
hadoop jar YOUR_JAR.jar ClassName -Dmapreduce.reduce.memory.mb=4096 -Dmapreduce.map.memory.mb=4096 -Dyarn.app.mapreduce.am.resource.mb=4096 /input /output

Примечание. Замените YOUR_JAR.jar на Jar, а ClassName - на имя класса драйвера

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...