2016-10-19 35 views
1

我試圖在Spark中執行算法(快速傅立葉變換,FFT)。 (雖然它是非常小的)java.lang.OutOfMemoryError:Apache Spark中的Java堆空間

當數據超過64M,該控制檯顯示消息:

java.lang.OutOfMemoryError: java heap space. 

我使用32位Ubuntu系統和火花1.6.0。我使用Scala IDE,eclipse。

我使用本地模式和獨立模式。數據小於32米時效果良好,但數據大於64米時無法使用。

我嘗試將JVM設置設置爲-Xms1000m-Xmx4000m。在代碼中創建SparkConf時,我還嘗試添加.set("spark.exetutor.memory", "8g")。但他們都不起作用。

我該如何解決這個問題?

+0

可能的重複http://stackoverflow.com/questions/21138751/spark-java-lang-outofmemoryerror-java-heap-space – Nio

+0

問題已解決。我使用了32位的ubuntu ...將其更改爲64位系統,問題解決了。 –

回答

1

如果您使用spark.master = local,那麼調整的相關值爲spark.driver.memory。請注意,該選項需要在JVM(即驅動程序)以本地模式啓動之前設置,因此修改現有的SparkContext將無濟於事,因爲JVM已啓動。

+0

非常感謝。但我發現我的問題是系統是32位的。我重新安裝了一個64位系統,問題就解決了。 –