我正在搜索spark如何以及在哪里为每个执行程序分配核心 源代码。 是否可以独立控制programmaticaly分配的核心 集群模式?
此致 利玛
答案 0 :(得分:0)
Spark允许配置选项通过.set
类上的SparkConf
方法传递。
这里有一些设置新火花配置的scala代码:
new SparkConf()
.setAppName("App Name")
.setMaster('local[2]')
.set("spark.executor.cores", "2")
有关不同配置选项的文档:
http://spark.apache.org/docs/1.6.1/configuration.html#execution-behavior
我没有详尽地浏览源代码,但我认为这是源代码中分配执行程序核心的地方:
答案 1 :(得分:0)
在独立模式下,您有以下选项:
一个。在启动集群时,您可以提及为spark应用程序分配了多少个cpu内核。这可以设置为env变量SPARK_WORKER_CORES或作为参数传递给shell脚本(-c或--cores)
湾应该注意(如果其他应用程序也共享像核心这样的资源),不要让火花占用所有核心。这可以使用spark.cores.max参数设置。
℃。您也可以将--total-executor-cores <numCores>
传递给spark shell
有关详情,请查看here