Я пытаюсь запустить работу сходства элементов mahout на входе, состоит из ~ 250 миллионов пар (строки) в Amazon EMR Cluster (m3.2x Large, 10 core узлы). Я столкнулся с ошибкой размера кучи Java при запуске задания сходства.Ошибка Java Heap Space Ошибка при выполнении задания сходства элементов mahout на Amazon EMR
Вещи, которые я пытался решить эту проблему.
Увеличение размера кучи узлов имен, определив их в загрузчике action.Like этого -
--bootstrap-действия s3: // elasticmapreduce/самозагрузки-действия/настройки-демоны --args - NameNode-кучного размер = 8192использования память интенсивная начальной загрузки рекомендованное AWS (s3: // elasticmapreduce/самозагрузка-действия/конфигурация/последние/памяти ресурсоемких)
Установите MAHOUT_HEAPSIZE вручную.
Проблема не решена. Есть ли способ ее решить?
Есть ли какой-либо возможный способ предоставить 250M-входы в разных сегментах? Получаете ли вы ошибку кучи сразу после прохождения входов или происходит ли она после определенного периода? – Payam
Не на самом деле. Он работает в течение некоторого периода времени, а затем получает ошибку в области кучи. –
Хорошо, проблема в том, что у вас действительно недостаточно памяти для запуска этой огромной массы данных (что означает, что вам нужно найти лучший ПК) или у вас есть утечка памяти. Вы используете IDE для запуска этого? Если да, просто «профиль» вашего приложения Java, и вы можете увидеть поведение вашей кучи. Он либо становится все больше и больше, пока не достигнет предела (вариант 1), или он меняется с помощью приложения с необычной манерой (GC не работает должным образом). – Payam