我有一个运行的火花丛
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
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。