【发布时间】:2015-06-10 17:51:04
【问题描述】:
这就是我想要做的。
我创建了 DataStax 企业集群的两个节点,在这两个节点上我创建了一个 java 程序来获取一个表(Cassandra 数据库表)的计数。
这个程序是在 eclipse 中构建的,它实际上来自一个 windows 盒子。
在从 Windows 运行此程序时,它在运行时失败并出现以下错误:
初始作业没有接受任何资源;检查您的集群 UI 以确保工作人员已注册并有足够的内存
相同的代码已在这些集群上成功编译并运行,没有任何问题。出现上述错误的原因可能是什么?
代码:
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();
}
}
【问题讨论】:
标签: java apache-spark cassandra datastax