2016-10-19 36 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位系统,问题就解决了。 –