【发布时间】:2018-11-06 10:06:52
【问题描述】:
我有一个 apache spark full stack+ Apache zeppelin 运行在一个资源很少 (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 + apache spark 中学习一些代码...
有什么方法可以减少 spark 上的内存占用,以便进行测试?
谢谢
【问题讨论】:
-
没有多少内存可以做。如果您没有可用的集群,请尝试将 Amazon EC2 与 Spark 分发包附带的脚本一起使用,
spark-ec2文件夹。 -
是的,我试过了,它将创建一个集群(1 个主节点和 1 个工作节点)。我想将两者都放在同一台机器上,这样我就可以让它运行整个月......
标签: apache-spark