TaskSchedulerImpl: Der ursprüngliche Job hat keine Ressourcen akzeptiert.

Hier ist, was ich versuche zu tun.

Ich habe zwei Knoten des DataStax-Unternehmensclusters erstellt. Darüber habe ich ein Java-Programm erstellt, um die Anzahl einer Tabelle (Cassandra-Datenbanktabelle) abzurufen.

Dieses Programm wurde in Eclipse erstellt, das eigentlich aus einer Windows-Box stammt.

Zum Zeitpunkt der Ausführung dieses Programms unter Windows schlägt der folgende Fehler zur Laufzeit fehl:

Initial Job hat keine Ressourcen akzeptiert. Überprüfen Sie die Cluster-Benutzeroberfläche, um sicherzustellen, dass die Mitarbeiter registriert sind und über genügend Arbeitsspeicher verfügen.

Derselbe Code wurde auf diesen Clustern ohne Probleme kompiliert und erfolgreich ausgeführt. Was könnte der Grund sein, warum ich über den Fehler stehe?

Code

import org.apache.spark.SparkConf;

import org.apache.spark.SparkContext;

import org.apache.spark.api.java.JavaSparkContext;
import org.apache.spark.sql.SchemaRDD;
import org.apache.spark.sql.cassandra.CassandraSQLContext;
import com.datastax.bdp.spark.DseSparkConfHelper;

public class SparkProject  {

    public static void main(String[] args) {

        SparkConf conf = DseSparkConfHelper.enrichSparkConf(new SparkConf()).setMaster("spark://10.63.24.14X:7077").setAppName("DatastaxTests").set("spark.cassandra.connection.host","10.63.24.14x").set("spark.executor.memory", "2048m").set("spark.driver.memory", "1024m").set("spark.local.ip","10.63.24.14X");

        JavaSparkContext sc = new JavaSparkContext(conf);

        CassandraSQLContext cassandraContext = new CassandraSQLContext(sc.sc());
        SchemaRDD employees = cassandraContext.sql("SELECT * FROM portware_ants.orders");

        //employees.registerTempTable("employees");
        //SchemaRDD managers = cassandraContext.sql("SELECT symbol FROM employees");
        System.out.println(employees.count());

        sc.stop();
    }
}

Antworten auf die Frage(10)

Ihre Antwort auf die Frage