Ошибка OutOfMemory при запуске полномасштабного задания hadoop - PullRequest
2 голосов
/ 23 января 2012

Я выполняю задание hadoop в Amazon Elastic MapReduce и продолжаю получать ошибку OutOfMemory. Значения, по общему признанию, немного больше, чем у большинства значений MapReduce, но, кажется, даже когда я резко уменьшу размер, это все же происходит. Вот трассировка стека:

Error: java.lang.OutOfMemoryError: Java heap space
    at org.apache.hadoop.mapred.ReduceTask$ReduceCopier$MapOutputCopier.shuffleInMemory(ReduceTask.java:1698)
    at org.apache.hadoop.mapred.ReduceTask$ReduceCopier$MapOutputCopier.getMapOutput(ReduceTask.java:1558)
    at org.apache.hadoop.mapred.ReduceTask$ReduceCopier$MapOutputCopier.copyOutput(ReduceTask.java:1407)
    at org.apache.hadoop.mapred.ReduceTask$ReduceCopier$MapOutputCopier.run(ReduceTask.java:1339)

Я не совсем уверен, какой код показывать, так как эта трассировка стека полностью выходит за рамки моего кода. Версия - hadoop 0.20.205

Есть ли способ настроить редуктор на считывание меньших значений за раз? Разве это не должно обрабатываться автоматически в зависимости от доступной памяти?

...