Performance 如何调出内存异常火花

Performance 如何调出内存异常火花,performance,hadoop,apache-spark,cluster-computing,Performance,Hadoop,Apache Spark,Cluster Computing,我有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 在

我有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

我应该最小化内核的数量吗?因为我认为如果我使用16核,只有2G内存的话,洗牌就不够了


请尝试使用命令中的小型
选项来帮助您

当您将执行器内存设置为2GB时。然后它只分配原始内存的
0.6%
用于存储和执行,并从原始内存的
0.6%
中提取
0.5%
作为存储内存。因此,只有
0.5%
的内存可供执行


你应该理解这个概念。它将帮助您调试应用程序

当我尝试使用超过1G的输入文件时,我仍然拥有它。我添加了有关内存管理配置的详细信息。请过目。@asma,你有什么突破吗?