2016-09-13 2 views
0

ich eine Spark-Anwendung laufen lasse und ich immer nicht genügend Arbeitsspeicher Ausnahme bekommen ..Es kann keine neuen native Thread in Spark-Anwendung erstellen

Exception in thread "main" java.lang.OutOfMemoryError: unable to create new native thread 

ich mein Programm unter lokalen führen [5] in einem Knoten-Cluster auf linux, aber es gibt mir immer noch diesen Fehler .. kann mir jemand zeigen, wie das in meiner Spark-Anwendung zu beheben ..

+1

haben Sie versucht, verschiedene Anwendungen auszuführen und immer noch Sie wurden gleich? brauche mehr Details .. –

+0

es ist schwer zu sagen, was schief läuft, was machst du in deinem Code? –

Antwort

2

Sieht aus wie ein Problem mit ulimit auf Ihrem Computer konfiguriert. Führen Sie den Befehl ulimit -a aus, Sie werden das folgende Ergebnis sehen.

core file size   (blocks, -c) 0 
data seg size   (kbytes, -d) unlimited 
scheduling priority    (-e) 0 
file size    (blocks, -f) unlimited 
pending signals     (-i) 63604 
max locked memory  (kbytes, -l) 64 
max memory size   (kbytes, -m) unlimited 
open files      (-n) 10240 
pipe size   (512 bytes, -p) 8 
POSIX message queues  (bytes, -q) 819200 
real-time priority    (-r) 0 
stack size    (kbytes, -s) 8192 
cpu time    (seconds, -t) unlimited 
max user processes    (-u) 63604 
virtual memory   (kbytes, -v) unlimited 
file locks      (-x) unlimited 

Überprüfen der open files und max user processes konfigurierten Werte. Es sollte hoch sein.

Sie können sie unter Befehle konfigurieren:

ulimit -n 10240 
ulimit -u 63604 

Sobald Sie mit der Konfiguration von ulimits fertig sind. Sie können Ihre Anwendung starten, um den Effekt zu sehen.

Verwandte Themen