Флинк Гелли Память закончилась

Я запускаю кластер со следующими характеристиками (для каждого диспетчера задач): - 16 потоков процессора - 16 ГБ оперативной памяти - 16 слотов. У меня есть два диспетчера задач, и когда мы запускаем алгоритм графа, такой как подключенные компоненты, программа выйдет из строя со следующей ошибкой:

Исключение в потоке «основной» org.apache.flink.runtime.client.JobExecutionException: java.lang.RuntimeException: закончилась память. Сжатие не удалось. numPartitions: 32 minPartition: 29 maxPartition: 30 количество сегментов переполнения: 105 bucketSize: 234 Общая память: 42598400 Разделение памяти: 30539776 Сообщение: null в org.apache.flink.runtime.minicluster.MiniCluster.executeJobBlocking (MiniCluster.java:625) на org.apache.flink.client.LocalExecutor.executePlan (LocalExecutor.java:234) на org.apache.flink.api.java.LocalEnvironment.execute (LocalEnvironment.java:91) на org.apache.flink.api.java .ExecutionEnvironment.execute (ExecutionEnvironment.java:816) в org.apache.flink.api.java.DataSet.collect (DataSet.java:413) в org.apache.flink.api.java.DataSet.print (DataSet.java : 1652) в com.asha.adw.ga.gpe.main.Main.main (Main.java:207) Причина: java.lang.RuntimeException: закончилась память. Сжатие не удалось. numPartitions: 32 minPartition: 29 maxPartition: 30 количество сегментов переполнения: 105 bucketSize: 234 Общая память: 42598400 Разделенная память: 30539776 Сообщение: null at org.apache.flink.runtime.operators.hash.CompactingHashTable.insertRecordIntoPartition (CompactingHash 457) в org.apache.flink.runtime.operators.hash.CompactingHashTable.insertOrReplaceRecord (CompactingHashTable.java:405) в org.apache.flink.runtime.operators.hash.CompactingHashTable.buildTableWithUniqueTable или CompactingHashTableWithUniqueTable () .apache.flink.runtime.iterative.task.IterationHeadTask.readInitialSolutionSet (IterationHeadTask.java:228) в org.apache.flink.runtime.iterative.task.IterationHeadTask.run (IterationHeadTask.java:291) в org.flink. .runtime.operators.BatchTask.invoke (BatchTask.java:368) в org.apache.flink.runtime.taskmanager.Task.run (Task.java:703) в java.lang.Thread.run (Thread.java:748 )

Я следил за кучей, и ее загрузка составляет около 40%. Я тоже поставил офф-куча правда, но не тут-то было. При увеличении основной памяти до 64 ГБ он успешно запускается. Любая помощь будет высоко ценится.


person Ronald Feri    schedule 25.07.2018    source источник


Ответы (1)


Ваше исключение указывает на то, что у вас закончилась управляемая память Flink. Вы можете контролировать долю общей доступной памяти, используемую в качестве управляемой, с помощью taskmanager.memory.fraction. Значение по умолчанию - 0,7 и означает, что ~ 0,7 доступного пространства кучи (определяемого taskmanager.heap.mb) используется в качестве управляемой памяти. Итак, вы можете попробовать увеличить это значение. Коэффициент запоминания ~ 0,3 в основном используется для пользовательских функций.

У меня была такая же проблема, и я нашел здесь рассуждение: Gelly не хватает памяти

Я смог проверить ответ в своем проекте.

Надеюсь, ответ еще не поздно!

person Janukowitsch    schedule 23.09.2018