如何在EC2 t2micro实例上组装Spark(并避免" java.lang.OutOfMemoryError:Java堆空间"错误)?

时间:2015-02-15 11:41:36

标签: amazon-web-services amazon-ec2 sbt apache-spark

我正在尝试使用sbt/sbt assembly在t2micro实例上构建Apache Spark,并且它总是以错误结束:

  

[error] java.util.concurrent.ExecutionException:   java.lang.OutOfMemoryError:Java堆空间

我尝试过在线推荐的各种技巧,例如修改_JAVA_OPTS以限制内存使用量,并行线程数以及限制sbt命令的内存。这一切都没有用。

我运行Ubuntu 14.04 AMI。我已使用free -m检查了可用内存以设置上述参数。

注意:如果我使用Spark发行版附带的ec2脚本并指定t2.micro实例,它可以正常工作。

2 个答案:

答案 0 :(得分:3)

根据http://www.ec2instances.info/,t1.micro的记忆力较少。对于Spark(或任何Java程序)而言,这是相当低的。 对于Spark,我推荐使用带有4G内存的* .medium机器。

答案 1 :(得分:0)

以下链接应该有所帮助 Spark Configuration

它描述了如何调整执行程序的内存