【发布时间】:2016-09-12 19:05:39
【问题描述】:
我有 11 个节点,每个节点有 2G 内存和 16 个内核,我尝试使用这个提交我的 spark 应用程序
./bin/spark-submit --class myapp.Main --master spark://Name:7077 --conf spark.shuffle.memoryFraction=0 --executor-memory 2G --deploy-mode client /home/mbala/fer/myjars7/etlpersist.jar /home/mfile80.csv
在 Slaves 文件中,我没有在启动此命令时添加节点的 ip,因为我认为在客户端模式下,驱动程序必须在此节点中运行。
但是每当我尝试运行它时,我都会出现内存不足异常(有时是因为 GC 或堆),我尝试了 spark 网站和 stackOverflow 中建议的许多解决方案,我还尝试最小化我的代码,我使用了 MemoryAndDiskStorage 但即使我仍然有这个问题
Ps:我使用这条线是因为我在这个论坛上找到了它作为解决方案
--conf spark.shuffle.memoryFraction=0
我应该尽量减少核心数量吗?因为我认为如果我使用只有 2G 内存的 16 个内核,那将不足以进行 shuffle
【问题讨论】:
标签: performance hadoop apache-spark cluster-computing