Flink:内存用尽异常

时间:2018-07-25 14:00:57

标签: apache-flink gelly

我使用以下配置设置了Flink集群:

Job Manager 任务管理器的数量:2 Task Manager

当我在具有400万个边和1,75万个具有并行度2的顶点的图形上运行Connected Components算法(org.apache.flink.graph.library.ConnectedComponents)时,出现以下异常:

  

java.lang.RuntimeException:获取排序的输入时出错:线程“ SortMerger Reading Thread”由于异常而终止:记录超出了排序缓冲区的最大大小(当前最大值:87949312字节)。       在org.apache.flink.runtime.operators.sort.UnilateralSortMerger.getIterator(UnilateralSortMerger.java:619)上       在org.apache.flink.runtime.operators.BatchTask.getInput(BatchTask.java:1108)       在org.apache.flink.runtime.operators.NoOpDriver.run(NoOpDriver.java:82)       在org.apache.flink.runtime.operators.BatchTask.run(BatchTask.java:503)       在org.apache.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)   由以下原因引起:java.io.IOException:线程'SortMerger Reading Thread'由于异常而终止:记录超出了排序缓冲区的最大大小(当前最大值:87949312字节)。       在org.apache.flink.runtime.operators.sort.UnilateralSortMerger $ ThreadBase.run(UnilateralSortMerger.java:800)中   由以下原因引起:java.io.IOException:该记录超过了排序缓冲区的最大大小(当前最大值:87949312字节)。       在org.apache.flink.runtime.operators.sort.UnilateralSortMerger $ ReadingThread.go(UnilateralSortMerger.java:955)       在org.apache.flink.runtime.operators.sort.UnilateralSortMerger $ ThreadBase.run(UnilateralSortMerger.java:796)

根据我的配置,我不知道为什么在有足够的内存段的情况下它显示The record exceeds the maximum size of a sort buffer (current maximum:87949312 bytes)

有人知道如何解决这个问题吗?

0 个答案:

没有答案