У меня возникли проблемы с Hadoop 2.5.1, не увеличивая увеличение пространства кучи, которое я запрашиваю. Hadoop, похоже, не уважает свойство mapred.child.java.opts в файле mapred-site.xml.Hadoop heap allocation
В своей работе я делаю следующее:
R = new int[height * width];
G = new int[height * width];
B = new int[height * width];
В зависимости от размера изображения, я прохожу работу происшествиям говоря
Вызванный: java.lang.OutOfMemoryError: Java куча пространства
Это понятно. Мне нужно увеличить кучу пространства, но по какой-то причине Hadoop не хочет уважать изменения в моем файле mapred-site.xml.
Я добавил это к моему mapred-site.xml и перезапущен
<property>
<name>mapred.child.java.opts</name>
<value>-Xmx12072m</value>
</property>
Когда это не сработало, я добавил это к моему mapred-env.sh и перезапущен
export HADOOP_JOB_HISTORYSERVER_HEAPSIZE=4000
Когда это не работал, я добавил это к моему yarn-env.sh и перезапустить
JAVA_HEAP_MAX=-Xmx4000m
Когда это не сработало, я добавил это в моей пряжи окр .sh и перезапустить
YARN_HEAPSIZE=4000
Когда это не сработало, я добавил это к моему hadoop-env.sh и перезапустить
export HADOOP_HEAPSIZE=4000
export HADOOP_NAMENODE_INIT_HEAPSIZE="3000"
Я перезапущена с использованием старт/stop-dfs.sh старт/стоп -all.sh start/stop-yarn.sh с их комбинациями. Я перезапустил сервер, и мне еще предстоит увидеть, что изменение имеет значение.
Я нахожусь в недоумении, что я могу сделать или что еще я могу изменить.
Есть ли способ определить размер кучи из заданий, чтобы я мог попробовать отладить это?
Я тоже попробовал ваше предложение, но это тоже не сработало. Аппарат имеет 64 ГБ памяти, поэтому я просто пытался исключить нехватку памяти в качестве проблемы. С размером изображения, которое я пытался обработать, он должен был иметь только ~ 800 МБ памяти. –
Я отправил то, что я сделал в ответ. –