我正在尝试使用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实例,它可以正常工作。
答案 0 :(得分:3)
根据http://www.ec2instances.info/,t1.micro的记忆力较少。对于Spark(或任何Java程序)而言,这是相当低的。 对于Spark,我推荐使用带有4G内存的* .medium机器。
答案 1 :(得分:0)
以下链接应该有所帮助 Spark Configuration
它描述了如何调整执行程序的内存