程序在IDEA上本地运行没有问题,一放到集群上就出现内存溢出错误

时间:2022-06-25 12:55:24
小白写了一个队号码活跃度评分的模型,在IDEA上跑是没有问题的,跑100条号码大概几十秒。但是一放到集群上面,代码便一直运行半小时左右,最后就运行失败,查看日志显示就是内存溢出。请问有大神遇到过这个问题吗?求解决,已经困惑两天了,以前练习mlib的时,里面有两个方法也存在这种问题,本地能跑,集群上内存溢出。
网上查看说浭水spark-defaults.conf里面的spark.driver.extraJavaOptions -XX:PermSize=128M -XX:MaxPermSize=256M ,我改了可还是错。
日志内容如下:
程序在IDEA上本地运行没有问题,一放到集群上就出现内存溢出错误
程序在IDEA上本地运行没有问题,一放到集群上就出现内存溢出错误

3 个解决方案

#1



抱歉,由于个人能力有限,帮不了你。



程序在IDEA上本地运行没有问题,一放到集群上就出现内存溢出错误

#2


集群上每个节点分配的内存空间是多少,一般默认是1g。另外需要检查driver memory设置的大小

#3


driver一般是512M-1G,executor有公式可以计算。一般是核心数:内存是1:2或1:4。单个Worker节点可以分配多个Worker实例,一般是核心数/4。这些在spark-env.sh里面配置
另外你这是什么复杂模型?100条可以跑那么久。。。考虑下优化代码吧

#1



抱歉,由于个人能力有限,帮不了你。



程序在IDEA上本地运行没有问题,一放到集群上就出现内存溢出错误

#2


集群上每个节点分配的内存空间是多少,一般默认是1g。另外需要检查driver memory设置的大小

#3


driver一般是512M-1G,executor有公式可以计算。一般是核心数:内存是1:2或1:4。单个Worker节点可以分配多个Worker实例,一般是核心数/4。这些在spark-env.sh里面配置
另外你这是什么复杂模型?100条可以跑那么久。。。考虑下优化代码吧