我在通过spark-ec2.sh脚本设置的EC2群集上运行Spark。我发布的5个slave实例有40个内核,但每个实例都不能使用所有的内核。EC2上的Spark不能利用所有可用的内核
从奴隶日志,我可以看到它似乎奴隶一个接一个地执行任务。而且我在slave实例上跑得最高,cpu大约是100%,而不是800%。
我打开了spark.mesos.coarse模式。数据被分成40个块。当我在本地运行独立模式下的Spark时,它可以使用8个内核。
有什么我可以做的,使火星奴隶利用所有可用的核心?
'spark.mesos.coarse' Mesos下运行时只影响的火花。你是在Mesos下还是在Spark的独立模式下运行Spark(如果你使用Spark 0.7+,默认的EC2脚本使用独立模式)。 –
谢谢@JoshRosen,为您及时回复。我使用0.7,所以它应该是独立模式。我想在1〜2秒内使用Spark实时查询响应时间。可能吗? –
Spark肯定能够进行低延迟查询;这是Shark和Spark Streaming的基础。未充分利用可能是由于您的工作没有足够的平行性或由于局部性限制。你能提供一些关于你工作的更多细节吗?另外,请考虑在[spark-users](http://groups.google.com/group/spark-users)邮寄名单上发布此问题。该列表比StackOverflow更适合来回调试讨论。 –