Apache flink 弗林克·盖利的记忆耗尽了

Apache flink 弗林克·盖利的记忆耗尽了,apache-flink,gelly,Apache Flink,Gelly,我使用以下规范运行集群(每个任务管理器): -16个cpu线程 -16GB内存 -16个插槽。 我有两个任务管理器,当我们运行图形算法(如连接的组件)时,程序将失败,出现以下错误: 线程“main”org.apache.flink.runtime.client.JobExecutionException中出现异常:java.lang.RuntimeException:内存耗尽。压缩失败。numPartitions:32 minPartition:29 maxPartition:30溢出段数:10

我使用以下规范运行集群(每个任务管理器): -16个cpu线程 -16GB内存 -16个插槽。 我有两个任务管理器,当我们运行图形算法(如连接的组件)时,程序将失败,出现以下错误:

线程“main”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 位于org.apache.flink.runtime.operators.hash.CompactingHashTable.insertRecordIntoPartition(CompactingHashTable.java:457) 位于org.apache.flink.runtime.operators.hash.CompactingHashTable.insertoreplaceRecord(CompactingHashTable.java:405) 位于org.apache.flink.runtime.operators.hash.CompactingHashTable.buildTableWithUniqueKey(CompactingHashTable.java:316) 位于org.apache.flink.runtime.iterative.task.IterationHeadTask.readInitialSolutionSet(IterationHeadTask.java:228) 在org.apache.flink.runtime.iterative.task.IterationHeadTask.run(IterationHeadTask.java:291)上 位于org.apache.flink.runtime.operators.BatchTask.invoke(BatchTask.java:368) 位于org.apache.flink.runtime.taskmanager.Task.run(Task.java:703) 运行(Thread.java:748)


我监控了堆,其利用率约为40%。我也出发堆真的,但没有这样的运气。当主内存增加到64 GB时,它将成功运行。任何帮助都将不胜感激

您的异常表明,Flink托管内存已用完。您可以通过taskmanager.memory.fraction控制用作托管内存的可用内存总量的分数。默认值为0.7,表示可用堆空间的~0.7(由taskmanager.heap.mb确定)用作托管内存。因此,您可以尝试增加该值。~0.3的重熔频率主要用于用户定义的函数

我也遇到了同样的问题,在这里找到了原因:

我能够在我的项目中验证响应

希望答案是不要迟到