TaskSchedulerImpl: Der anfängliche Job hat keine Ressourcen akzeptiert;

8

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%     
sandeep 06.04.2015, 10:28
quelle

5 Antworten

14

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):

  1. Wie aus dem Fehler hervorgeht, weisen Sie wahrscheinlich mehr als die verfügbaren Ressourcen zu. = & gt; Das war nicht mein Problem
  2. Hostname & amp; IP Address Pannen : Ich habe dafür gesorgt, indem ich SPARK_MASTER_IP und SPARK_LOCAL_IP in spark-env.sh
  3. angegeben habe
  4. Firewall auf dem Client deaktivieren : Das war die Lösung, die für mich funktioniert hat. Da ich an einem internen Prototyp-Code arbeitete, habe ich die Firewall auf dem Client-Knoten deaktiviert. Aus irgendeinem Grund waren die Arbeiterknoten nicht in der Lage, für mich mit dem Kunden zu sprechen. Für Produktionszwecke möchten Sie eine bestimmte Anzahl von Ports öffnen.
ameyamm 28.05.2015 03:50
quelle
6

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:

%Vor%     
Sudipta Basak 20.09.2015 05:37
quelle
2

Bitte sehen Sie sich Russ Post

an

Speziell 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.

    
phact 09.04.2015 19:31
quelle
0

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.

    
vefthym 09.03.2017 15:25
quelle
0

Ich habe dieses Problem ein paar Mal gesehen, obwohl die Ressourcenzuweisung korrekt war.

Der Fehler bestand darin, die mesos-Dienste neu zu starten.

%Vor%     
Sachin 18.08.2017 15:48
quelle