我在通過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更適合來回調試討論。 –