EC2上的Spark不能利用所有可用的内核



我在通过Spark - EC2 .sh脚本设置的EC2集群上运行Spark。我启动的5个从属实例总共有40个内核,但是每个实例都不能利用所有的内核。

从slave日志中,我可以看到slave似乎一个接一个地执行任务。我在slave实例上运行top, cpu大约是100%而不是800%。

我已经打开了spark.mesos.coarse模式。数据被分成40块。当我在本地以独立模式运行Spark时,它可以使用8个内核。

我能做些什么来让Spark slave利用所有可用的内核吗?

在创建SparkContext之前尝试将spark.cores.max设置为8

:

val conf = new SparkConf() 
   .setMaster("...")
   .set("spark.cores.max", "8")
val sc = new SparkContext(conf)

相关内容

  • 没有找到相关文章

最新更新