Spark java.lang.outofmemoryerror gc overhead limit exceeded 与 spark OOM:java heap space 解决方法...

本文介绍了在使用Spark-submit提交任务时遇到的java.lang.OutOfMemoryError异常及其解决方案。主要原因是driver内存不足导致,可通过spark-submit命令直接指定--driver-memory参数或在spark-defaults.conf文件中配置spark.driver.memory来增加driver内存。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

引用自:http://cache.baiducontent.com/c?m=9f65cb4a8c8507ed4fece7631046893b4c4380146d96864968d4e414c4224614143bbae87a221207d0d82f2747f41802bded602571507be9dad58f49d8b9972b2b8933712d5cd04e53914aef925125b061d70ab6f45ff0bb806ac0ea81c4de2444ca24127bf0aed8065503cb1fe71446f4a7e915521907bb9d6d31e8580776c87c1df60ceee1423947c1ab9d4b4db33dd1120697de60e12912c44ee0485b7e13f31aa60820786bbf1461e8444c53d8ba0ab07c2e16&p=aa7b8b01a4934eac58ee852d02149c&newp=913fc00486cc42af5bba872d0214cf231610db2151d1d301298ffe0cc4241a1a1a3aecbf26201a01d7c27f6001ad4b5ce1f43175350434f1f689df08d2ecce7e789b&user=baidu&fm=sc&query=spark+submitjava%2Elang%2EOutOfMemoryError%3A+GC+overhead+limit+exceeded&qid=a8630fd9000af2ec&p1=3

问题描述:

在使用java.lang.OutOfMemoryError: Java heap space

spark-submit提 交任务时(standalone模式部署时,默认使用的就是standalone client模式提交任务),我们自己写的程序(main)被称为driver,在不指定给driver分配内存时,默认分配的是512M。在这种情况 下,如果处理的数据或者加载的数据很大(我是从hive中加载数据),driver就可能会爆内存,出现上面的OOM错误。

 

解决方法:

 

参考:http://spark.apache.org/docs/latest/configuration.html

方法一:在submit中指定 --driver-memory来设定driver的jvm的大小,可以通过spark-submit --helo来查看其它可以设置的参数。

eg:

.spark-submit

  --master spark://master:7077

     --class $MAIN_CLASS

  -- executor-memory 3G

  --total-executor-cores 10

  --driver-memory 2g

  --name $APP_NAME

  --conf "spark.executor.extraJavaOptions=-XX:+PrintGCDetails -XX:+PrintGCTimeStamps"

  

方法二:在spark_home/conf/目录中,将spark-defaults.conf.template模板文件拷贝一份到/spark_home/conf目录下,命名为spark-defaults.conf,然后在里面设置spark.driver.memory  memSize属性来改变driver内存大小。

eg:

spark:master=spark://master

spark.default.paralleslism=10

spark.driver.memory=2g

spark.serializer=org.apache.spark.serializer.KryoSerializer

spark.sql.shuffle.partitions=50

 

 

 

转载于:https://www.cnblogs.com/jingblogs/p/5715743.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值