2015-08-11 4 views
14

ich bauen einen Funken und Flink k-Means-Anwendung. Mein Testfall ist ein Clustering auf 1 Million Punkte auf einem 3-Knoten-Cluster.Funken vs Flink wenig Speicher verfügbar

Wenn In-Memory-Engpässe beginnen, beginnt Flink auf die Festplatte auszulagern und arbeitet langsam, funktioniert aber. jedoch Spark-Vollstrecker verlieren, wenn der Speicher voll ist und beginnt wieder (Endlosschleife?).

Ich versuche, die Speichereinstellung mit Hilfe der Mailingliste hier anzupassen, danke. Aber Spark funktioniert immer noch nicht.

Müssen Konfigurationen konfiguriert werden? Ich meine Flink arbeitet mit wenig Speicher, Spark muss es auch können; oder nicht?

Antwort

19

Ich bin kein Spark Experte (und ich bin ein Flink Mitarbeiter). Soweit ich weiß, kann Spark nicht auf die Festplatte übertragen werden, wenn nicht genug Hauptspeicher vorhanden ist. Dies ist ein Vorteil von Flink over Spark. Spark kündigte jedoch einen neuen Projektaufruf "Tungsten" an, um verwalteten Speicher ähnlich wie Flink zu ermöglichen. Ich weiß nicht, ob diese Funktion bereits verfügbar: https://databricks.com/blog/2015/04/28/project-tungsten-bringing-spark-closer-to-bare-metal.html

Es gibt ein paar SO Frage zu Funken aus Speicherproblemen (eine Internet-Suche mit "spark out of memory" yield viele Ergebnisse auch):

spark java.lang.OutOfMemoryError: Java heap space Spark runs out of memory when grouping by key Spark out of memory

Vielleicht einer dieser Hilfe.

+4

Spark kann Daten auf Datenträger serialisieren, benötigt jedoch für bestimmte Vorgänge Teile der Daten auf dem Heap der JVM. Wenn die Größe des Heapspeichers nicht ausreicht, stirbt der Job mit einem OutOfMemoryError. Im Gegensatz dazu akkumuliert die Engine von Flink nicht viele Objekte auf dem Heap, sondern speichert sie in einem dedizierten Speicherbereich. Alle Operatoren sind so implementiert, dass sie mit sehr wenig Speicher umgehen können und auf die Festplatte gelangen können. Diese [Blog-Post] (http://flink.apache.org/news/2015/05/11/Juggling-with-Bits-and-Bytes.html) diskutiert Flink Speicher-Management und wie sie auf binäre Daten. –