Flink·盖利的记忆耗尽了

pbwdgjma  于 2021-06-21  发布在  Flink
关注(0)|答案(1)|浏览(444)

我使用以下规范(每个任务管理器)运行集群:-16个cpu线程-16 gb ram-16个插槽。我有两个任务管理器,当我们运行图形算法(如连接的组件)时,程序将失败,并出现以下错误:
线程“main”org.apache.flink.runtime.client.jobexecutionexception中出现异常:java.lang.runtimeexception:内存耗尽。压缩失败。numpartitions:32 minpartition:29 maxpartition:30溢出段数:105 bucketsize:234总内存:42598400分区内存:30539776消息:null at 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(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)在java.lang.thread.run(线程。java:748)
我监控了堆,它的利用率大约是40%。我也出发堆真的,但没有这样的运气。当主内存增加到64 gb时,它成功运行。任何帮助都将不胜感激。

cczfrluj

cczfrluj1#

您的异常表明,您用完了flink管理的内存。您可以通过taskmanager.memory.fraction控制总可用内存中用作托管内存的部分。默认值为0.7,表示可用堆空间的约0.7(由taskmanager.heap.mb确定)用作托管内存。所以,你可以试着增加这个值。~0.3的修正主要用于自定义函数。
我也遇到了同样的问题,在这里找到了原因:盖利的记忆耗尽了
我能够在我的项目中验证响应。
希望答案是不要迟到!

相关问题