2015-05-01 57 views
0

我用附帶的火花EC2玩弄星火:pyspark只使用一半的內存EC2火花

./spark-ec2 \ 
--key-pair=pems \ 
--identity-file=/path/pems.pem \ 
--region=eu-west-1 \ 
-s 8 \ 
--instance-type c3.xlarge \ 
launch my-spark-cluster 

安裝後,我ssh到主節點已全部安裝完畢後,然後我開始pyspark。

$ /root/spark/bin/pyspark --executor-memory 2G 

我指定(至少我認爲)每個執行器(機器)獲得2GB的內存。當我在<masternode>:4040上瀏覽控制檯時,我發現有些東西不對。

enter image description here

當我進入其他的喜好,我收到了類似的結果。

$ /root/spark/bin/pyspark --executor-memory 1G 

enter image description here

對我來說,令人困惑的是,我指定c3.xlarge機和這些有記憶〜7.5 GB,因此這不應該是內存不足的問題。任何人有想法?這裏顯示

回答

2

內存是分配給高速緩存 它由spark.storage.memoryFraction配置定義,它的默認值是.6

+0

是有可能提高呢?考慮到我想從s3 *加載數據一次*對於剩下的分析,這看起來像是id想要手動加註。 – cantdutchthis

+0

是的,你可以增加它。在啓動執行程序--config spark.storage.memoryFraction 0.8時,請注意,這不應該比JVM中的「舊」代對象大,默認情況下該對象的堆爲0.6。 – banjara

+1

備註爲未來的讀者。你可以使用這個命令:'''/ root/spark/bin/pyspark --conf spark.storage.memoryFraction = 0.75''' – cantdutchthis