这是我想要做的.
我创建了两个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();
}
}
Run Code Online (Sandbox Code Playgroud) 我正在使用 Apache Mesos 在集群模式下运行 Apache Spark。但是,当我启动 Spark-Shell 运行简单的测试命令 (sc.parallelize(0 to 10, 8).count) 时,我收到以下警告消息:
10 年 3 月 16 日 11:50:55 警告 TaskSchedulerImpl:初始作业尚未接受任何资源;检查集群 UI 以确保工作线程已注册并拥有足够的资源
如果我检查 Mesos WebUI,我可以看到 Spark-Shell 被列为一个框架,并且我列出了一个从机(我自己的机器)。有什么帮助如何解决它吗?
TL; DR
Spark UI显示的核心和内存数量不同于我在使用spark-submit时所要求的数量
更多细节:
我在独立模式下运行Spark 1.6.当我运行spark-submit时,我传递了1个执行器实例,其中1个核心用于执行程序,还有1个核心用于驱动程序.我期望发生的是我的应用程序将运行总共2个核心.当我检查UI上的环境选项卡时,我看到它收到了我给它的正确参数,但它看起来仍然使用不同数量的核心.你可以在这里看到它:
这是我正在使用的spark-defaults.conf:
spark.executor.memory 5g
spark.executor.cores 1
spark.executor.instances 1
spark.driver.cores 1
Run Code Online (Sandbox Code Playgroud)
检查Spark UI上的环境选项卡显示这些确实是接收到的参数,但UI仍显示其他内容
有没有人知道什么可能导致Spark使用不同数量的内核而不是我想传递它?我显然尝试使用谷歌搜索,但没有找到任何有用的主题
提前致谢
我正在尝试从运行火花示例,Eclipse并得到以下一般性错误:Initial job has not accepted any resources; check your cluster UI to ensure that workers are registered and have sufficient resources.
我spark-1.6.2-bin-hadoop2.6.使用的版本是我使用./sbin/start-master.shShell中的命令启动spark ,然后将我设置为sparkConf:
SparkConf conf = new SparkConf().setAppName("Simple Application");
conf.setMaster("spark://My-Mac-mini.local:7077");
Run Code Online (Sandbox Code Playgroud)
我没有在这里添加任何其他代码,因为此错误在我正在运行的任何示例中都会弹出。这台机器是Mac OSX,我很确定它有足够的资源来运行最简单的示例。
我想念什么?