Apache spark 如何减少apache spark内存占用?

Apache spark 如何减少apache spark内存占用?,apache-spark,Apache Spark,我有一个ApacheSpark全栈+ApacheZeppelin,运行在一台只有512MB资源的机器上,这台机器正在崩溃 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/

我有一个ApacheSpark全栈+ApacheZeppelin,运行在一台只有512MB资源的机器上,这台机器正在崩溃

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
我知道这是个坏主意,但我没有其他地方可以测试它,我希望能够在scala+ApacheSpark中学习一些代码

是否有一种方法可以减少spark上的内存占用,以便进行测试


谢谢

阿帕奇齐柏林飞艇是一个很棒的工具,但我也看到了同样的事情,它占用了很多内存。您可以使用类似于spark home文件夹中的命令,bin/spark shell将为您提供spark scala shell,但使用起来并不美观和直观

您可以使用EclipseScalaIDE或IntelliJ进行scala pluginfor spark scala开发,只需添加带有maven或sbt的JAR即可

您可以在scala shell中进行原型设计,并将其复制粘贴到IDE中

同时检查,它需要一个较小的内存脚印。火花本身需要更少的空间,但齐柏林飞艇需要很大的空间,从我所看到的


同样对于scala notebook:,您可以将spark jar添加到环境中,创建sparkContext对象并使用它

ApacheZeppelin是一个很棒的工具,但我也看到了同样的东西,它占用了大量的内存。您可以使用类似于spark home文件夹中的命令,bin/spark shell将为您提供spark scala shell,但使用起来并不美观和直观

您可以使用EclipseScalaIDE或IntelliJ进行scala pluginfor spark scala开发,只需添加带有maven或sbt的JAR即可

您可以在scala shell中进行原型设计,并将其复制粘贴到IDE中

同时检查,它需要一个较小的内存脚印。火花本身需要更少的空间,但齐柏林飞艇需要很大的空间,从我所看到的


同样对于scala notebook:,您可以将spark jar添加到环境中,创建sparkContext对象并使用它

你用那一点点记忆做不了什么。如果您没有可用的集群,请尝试使用AmazonEC2和Spark发行版附带的脚本Spark-EC2文件夹。是的,我尝试过了,它将创建一个集群1主服务器和一个工作服务器。我希望两者都在同一台机器上,这样我就可以让它运行整整一个月……用这么小的内存你做不了什么。如果您没有可用的集群,请尝试使用AmazonEC2和Spark发行版附带的脚本Spark-EC2文件夹。是的,我尝试过了,它将创建一个集群1主服务器和一个工作服务器。我希望两者都在同一台机器上,这样我就可以让它运行整整一个月……在相同的线路上,我使用了一个1GB的免费层Amazon EC2实例来支持齐柏林飞艇。也不知道失败的原因。因此,我在结束时所做的是废弃空闲层实例,并创建一个具有更大RAM的实例。它工作得很好。按照同样的思路,我为齐柏林飞艇使用了一个1GB的免费层Amazon EC2实例。也不知道失败的原因。因此,我在结束时所做的是废弃空闲层实例,并创建一个具有更大RAM的实例。而且效果很好。。