添加链接
link之家
链接快照平台
  • 输入网页链接,自动生成快照
  • 标签化管理网页链接

引用自 :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来查看其它可以设置的参数。

.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内存大小。

spark:master=spark://master

spark.default.paralleslism=10

spark.driver.memory=2g

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

spark.sql.shuffle.partitions=50