Hier ist, was ich versuche zu tun.
Ich habe zwei Knoten des DataStax-Unternehmensclusters erstellt, auf denen ich ein Java-Programm erstellt habe, um die Anzahl einer Tabelle (Cassandra-Datenbanktabelle) zu erhalten.
Dieses Programm wurde in Eclipse eingebaut, welches eigentlich aus einer Windows-Box stammt.
Zum Zeitpunkt der Ausführung dieses Programms von Windows schlägt der folgende Fehler zur Laufzeit fehl:
Der erste Job hat keine Ressourcen akzeptiert; Überprüfen Sie Ihre Cluster-Benutzeroberfläche, um sicherzustellen, dass die Worker registriert sind und über genügend Arbeitsspeicher verfügen.
Derselbe Code wurde kompiliert & amp; Führen Sie diese Cluster ohne Probleme erfolgreich aus. Was könnte der Grund sein, warum der obige Fehler auftritt?
Code:
%Vor%Ich sah mich einem ähnlichen Problem gegenüber und nach einigen Online-Recherchen und Versuchen-n-Fehler, beschränkte ich mich auf drei Ursachen dafür (mit Ausnahme der ersten beiden sind die Fehler nicht einmal nahe):
Mein Problem war, dass ich zu viel Speicher zugewiesen habe, als meine Sklaven zur Verfügung hatten. Versuchen Sie, die Speichergröße des Funkens zu reduzieren. Etwas wie das Folgende:
%Vor% mit meinem ~/spark-1.5.0/conf/spark-env.sh
ist:
Bitte sehen Sie sich Russ Post
anSpeziell dieser Abschnitt:
Dies ist bei weitem der häufigste erste Fehler, den ein neuer Spark-Benutzer erleidet sehen Sie, wenn Sie versuchen, eine neue Anwendung auszuführen. Unser neues und aufgeregt Spark-Benutzer wird versuchen, die Shell zu starten oder ihre eigenen auszuführen Anwendung und mit der folgenden Nachricht erfüllt werden
...
Die kurzfristige Lösung für dieses Problem besteht darin, sicherzustellen, dass Sie es nicht sind mehr Ressourcen von Ihrem Cluster anfordern als vorhanden oder heruntergefahren werden alle Apps, die unnötigerweise Ressourcen verwenden. Wenn Sie laufen müssen mehrere Spark-Apps gleichzeitig, dann müssen Sie anpassen Anzahl der Kerne, die von jeder App verwendet werden.
In meinem Fall war das Problem, dass ich die folgende Zeile in $SPARK_HOME/conf/spark-env.sh
hatte:
SPARK_EXECUTOR_MEMORY = 3g
von jedem Arbeiter,
und die folgende Zeile in $SPARK_HOME/conf/spark-default.sh
spark.executor.memory 4g
im Knoten "master".
Das Problem ging weg, sobald ich 4g zu 3g geändert habe. Ich hoffe, dass dies jemandem mit dem gleichen Problem helfen wird. Die anderen Antworten haben mir geholfen, dies zu erkennen.
Tags und Links java apache-spark cassandra datastax