我有一个apache spark full stack +运行在机器上的Apache zeppelin,只有很少的资源(512MB)正在崩溃。如何减少apache的spark内存占用?
Spark Command: /usr/lib/jvm/java/bin/java -cp /home/ec2-user/spark-1.4.1-bin-hadoop2.6/sbin/../conf/:/home/ec2-user/spark-1.4.1-bin-hadoop2.6/lib/spark-assembly-1.4.1-hadoop2.6.0.jar:/home/ec2-user/spark-1.4.1-bin-hadoop2.6/lib/datanucleus-api-jdo-3.2.6.jar:/home/ec2-user/spark-1.4.1-bin-hadoop2.6/lib/datanucleus-core-3.2.10.jar:/home/ec2-user/spark-1.4.1-bin-hadoop2.6/lib/datanucleus-rdbms-3.2.9.jar -Xms512m -Xmx512m -XX:MaxPermSize=256m org.apache.spark.deploy.master.Master --ip ip-172-31-24-107 --port 7077 --webui-port 8080
========================================
OpenJDK 64-Bit Server VM warning: INFO: os::commit_memory(0x00000000daaa0000, 357957632, 0) failed; error='Cannot allocate memory' (errno=12)
#
# There is insufficient memory for the Java Runtime Environment to continue.
# Native memory allocation (malloc) failed to allocate 357957632 bytes for committing reserved memory.
# An error report file with more information is saved as:
# /tmp/jvm-17290/hs_error.log
我知道这是一个坏主意,但我没有其他地方进行测试,并希望能够学习斯卡拉+ apache的火花一些代码...
有一种可以减少火花上的内存占用的方式,以便我可以测试?
感谢
用这么小的记忆就没有太多的事可做。如果您没有可用的群集,请尝试使用Amazon EC2以及Spark发行版附带的脚本'spark-ec2'文件夹。 –
是的我试过了,它会创建一个集群(1个主和1个工人)。我想在同一台机器上安装这两台计算机,这样我就可以在整个月内运行它... –