Ecco cosa sto cercando di fare.TaskSchedulerImpl: il lavoro iniziale non ha accettato alcuna risorsa;
Ho creato due nodi del cluster aziendale DataStax, in cima al quale ho creato un programma java per ottenere il conteggio di una tabella (tabella del database Cassandra).
Questo programma è stato creato in eclissi che è in realtà da una finestra di Windows.
Al momento della esecuzione di questo programma da Windows è in fallimento con il seguente errore in fase di esecuzione:
iniziale di lavoro non ha accettato alcuna risorsa; controllare la vostra interfaccia utente cluster per garantire che i lavoratori sono registrati e dispone di memoria sufficiente
Lo stesso codice è stato compilato & run con successo su tali cluster senza alcun problema. Quale potrebbe essere la ragione per cui sto superando l'errore?
Codice:
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();
}
}
prega di dare un'occhiata al https://stackoverflow.com/a/44581586/808096 –