scala – 如何在群集模式下以交互方式运行spark

我有一个运行的火花丛

spark://host1:7077
spark://host2:7077
spark://host3:7077

并通过/ bin / spark-shell连接–master spark:// host1:7077
尝试读取文件时:

val textFile = sc.textFile("README.md")
textFile.count()

提示

WARN TaskSchedulerImpl:初始作业未接受任何资源;检查群集UI以确保工作人员已注册并具有足够的资源

通过host1:8080上的Web ui检查时,它显示

Workers: 0
Cores: 0 Total,0 Used
Memory: 0.0 B Total,0.0 B Used
Applications: 0 Running,2 Completed
Drivers: 0 Running,0 Completed
Status: ALIVE

我的问题是如何在spark-shell集群模式下运行时指定内核和内存?或者我必须通过将我的scala代码打包到.jar文件中运行然后将作业提交给spark?

谢谢

解决方法

请使用jar打包您的代码并在代码中使用它

String[] jars = new String[] { sparkJobJar };
    sparkConf.setMaster("masterip");

    sparkConf.set("spark.executor.memory",sparkWorkerMemory);

    sparkConf.set("spark.default.parallelism",sparkParallelism);
    JavaSparkContext ctx = new JavaSparkContext(sparkConf);

使用spark.executor.memory可以提供worker内存,Parallelism将帮助在集群上运行多个并行任务.

你有../spark/conf中的奴隶文件,你需要把奴隶放在这里.

请在主节点/spark/sbin/start-master.sh上启动master

请在从属节点/spark/sbin/start-slaves.sh上启动slave

相关文章

共收录Twitter的14款开源软件,第1页Twitter的Emoji表情 Tw...
Java和Scala中关于==的区别Java:==比较两个变量本身的值,即...
本篇内容主要讲解“Scala怎么使用”,感兴趣的朋友不妨来看看...
这篇文章主要介绍“Scala是一种什么语言”,在日常操作中,相...
这篇文章主要介绍“Scala Trait怎么使用”,在日常操作中,相...
这篇文章主要介绍“Scala类型检查与模式匹配怎么使用”,在日...