2016-04-07 8 views
1

in Sprudel shell Arbeiter Speicher über 2 GB erhöhen, wenn der Lauf sparkling-shell:kann nicht

bin/sparkling-shell 

Die folgenden Fehler auftreten:

org.apache.spark.SparkException: Asked to launch cluster with 2048 MB RAM/worker but requested 20480 MB/worker 

Wir folgendes Set in spark-env.sh:

export SPARK_WORKER_MEMORY=108GB 
export SPARK_WORKER_INSTANCES=4 

Und das folgende in spark-defaults.conf:

spark.executor.memory 20g 
spark.driver.memory  8g 

Die einzige Art, wie wir die Schale starten bekommen kann, ist der Arbeiter-Speicher auf 2 GB zurück:

spark.executor.memory 2g 

Aber das ist einfach Art und Weise nicht ausreichend für unsere Arbeit ausgeführt wird. Jeder hat eine Problemumgehung für dieses Problem gefunden?

+0

RE: Abstimmung zu schließen. Sie werden wahrscheinlich nicht erkennen, dass die glitzernde Wasserschale ein * Programmierungsartefakt im Zusammenhang mit Spark war. Diese Frage gehört nicht - sagen wir - in 'superuser'. Beachten Sie, dass alle Apache-Funke-bezogenen Fragen * explizit * als * hier * erwähnt wurden - laut der Funken-Mailing-Liste. – javadba

Antwort

0

Kann ich bitte fragen, was Inhalt Ihrer MASTER Umgebungsvariable ist?

Dies kann auftreten, wenn Sie MASTER auf "local-cluster[numOfExecutors,numOfExecutorCores,numOfExecMemory]" festgelegt haben, wobei numOfExecMemory niedriger ist als Ihre Anforderung für Speicher in Spark-Defaults-Datei.

+0

MASTER ist nur auf 'funken: // myhost: 7077' gesetzt - Standard Tarif. – javadba

0

Sie haben einen Tippfehler in Ihrem Funken defaults.conf Datei:

spark.executor.memory 20g 
spark.driver.memory  8g 

Hier spark.executor.memory bis 20g (20 Gigabyte = 20480 mb) eingestellt wird, die pro Arbeiter Knoten zu 20480 mb übersetzt. Daher der Fehler ->

wo es heißt, Sie haben gefragt, Cluster mit 20480 MB pro Arbeiter zu bilden.

Sie sollten die spark.executor.memory 20g Funken defaults.conf Datei zu spark.executor.memory 2g

bearbeiten Wenn Sie den Speicher pro Arbeiter erhöhen wollen nur 2 g auf die Sie Halterung ändern möchten.

bearbeiten Sie auch die spark-env.sh dementsprechend wie folgt aus:

export SPARK_WORKER_MEMORY=108GB 
export SPARK_WORKER_INSTANCES=4 

4 Arbeiter Instanzen pro Knoten mit 1 GB Speicher je schaffen wird.

Also, wenn Sie zum Beispiel jeden Knoten 4gb dann in spark-env.sh

export SPARK_WORKER_MEMORY=4g 
export SPARK_WORKER_INSTANCES=1 

und funkt defaults.conf als:

spark.executor.memory 4g 
spark.driver.memory  8g 
+0

Dies ist kein Tippfehler - was ist falsch mit 20g pro Arbeiter? Ich hatte das Problem gesehen * ab * bei 2g ..aber das ist anders als die Menge an Widder, die wir tatsächlich brauchen. – javadba

+0

Dies ist kein Sparkling Water-Problem, sondern die Konfiguration Ihrer Spark-Jobs mit korrekter Speicherkonfiguration. Sie können jede Spark-Konfiguration als Teil von 'funkelnd-shell' setzen und überschreiben, indem Sie zusätzliche Argumente übergeben, die Sie normalerweise an 'spark-submit' übergeben würden –