我在通过Spark脚本设置的EC2群集上运行spark-ec2.sh。我启动的5个从属实例共有40个核心,但是每个实例都无法利用所有核心。
从奴隶日志中,我可以看到奴隶似乎一一执行任务。我在从属实例上运行最高,CPU大约是100%,而不是800%。
我已打开spark.mesos.coarse模式。并将数据分为40个块。当我在本地以独立模式运行Spark时,它可以利用8个内核。
我可以做些什么使Spark从站利用所有可用的内核?
最佳答案
尝试在创建spark.cores.max
之前将8
设置为SparkContext
在Spark 0.9中:
val conf = new SparkConf()
.setMaster("...")
.set("spark.cores.max", "8")
val sc = new SparkContext(conf)
关于amazon-ec2 - EC2上的Spark无法利用所有可用内核,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16749141/