Flink: память закончилась исключение

Я настроил кластер Flink со следующей конфигурацией:

Менеджер по работеКоличество диспетчеров задач: 2 Диспетчер задач

Когда я запускаю алгоритм связанных компонентов (org.apache.flink.graph.library.ConnectedComponents) на графе с 4 миллионами ребер и 1750000 вершин с параллелизмом 2 я получаю это исключение:

java.lang.RuntimeException: Ошибка при получении отсортированного ввода: Поток "Поток чтения SortMerger" прерван из-за исключительной ситуации: запись превышает максимальный размер буфера сортировки (текущий максимум: 87949312 байт). в org.apache.flink.runtime.operators.sort.UnatellSortMerger.getIterator(UnatellSortMerger.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" прерван из-за исключения: запись превышает максимальный размер буфера сортировки (текущий максимум: 87949312 байт). at org.apache.flink.runtime.operators.sort.UnatellSortMerger$ThreadBase.run(UnatellSortMerger.java:800) Причина: java.io.IOException: запись превышает максимальный размер буфера сортировки (текущий максимум: 87949312 байт).). по адресу org.apache.flink.runtime.operators.sort.UnatellSortMerger$ReadingThread.go(UniletSortMerger.java:955) по адресу org.apache.flink.runtime.operators.sort.UnatellSortMerger$ThreadBase.run(UnatellSortMerger.java:796)

Согласно моей конфигурации, я не знаю, почему это говорит The record exceeds the maximum size of a sort buffer (current maximum:87949312 bytes) пока достаточно сегментов памяти.

Кто-нибудь знает, как решить эту проблему?

0 ответов

Другие вопросы по тегам