`
wbj0110
  • 浏览: 1536483 次
  • 性别: Icon_minigender_1
  • 来自: 上海
文章分类
社区版块
存档分类
最新评论

spark出现GC overhead limit exceeded和java heap space

阅读更多

 spark执行任务时出现java.lang.OutOfMemoryError: GC overhead limit exceeded和java.lang.OutOfMemoryError: java heap space

最直接的解决方式就是在spark-env.sh中将下面两个参数调节的尽量大

    export SPARK_EXECUTOR_MEMORY=6000M
    export SPARK_DRIVER_MEMORY=7000M

注意,此两个参数设置需要注意大小顺序:

    SPARK_EXECUTOR_MEMORY < SPARK_DRIVER_MEMORY< yarn集群中每个nodemanager内存大小

 

总结一下Spark中各个角色的JVM参数设置:    

(1)Driver的JVM参数:
    -Xmx,-Xms,如果是yarn- client模式,则默认读取spark-env文件中的SPARK_DRIVER_MEMORY值,-Xmx,-Xms值一样大小;如果是yarn- cluster模式,则读取的是spark-default.conf文件中的spark.driver.extraJavaOptions对应的JVM 参数值。
    PermSize,如果是yarn-client模式,则 是默认读取spark-class文件中的JAVA_OPTS="-XX:MaxPermSize=256m $OUR_JAVA_OPTS"值;如果是yarn-cluster模式,读取的是spark-default.conf文件中的 spark.driver.extraJavaOptions对应的JVM参数值。
    GC 方式,如果是yarn-client模式,默认读取的是spark-class文件中的JAVA_OPTS;如果是yarn-cluster模式,则读取 的是spark-default.conf文件中的spark.driver.extraJavaOptions对应的参数值。
以上值最后均可被spark-submit工具中的--driver-java-options参数覆盖。

(2)Executor的JVM参数:
    -Xmx,-Xms,如果是 yarn-client模式,则默认读取spark-env文件中的SPARK_EXECUTOR_MEMORY值,-Xmx,-Xms值一样大小;如果 是yarn-cluster模式,则读取的是spark-default.conf文件中的 spark.executor.extraJavaOptions对应的JVM参数值。
    PermSize,两种模式都是读取的是spark-default.conf文件中的spark.executor.extraJavaOptions对应的JVM参数值。
    GC方式,两种模式都是读取的是spark-default.conf文件中的spark.executor.extraJavaOptions对应的JVM参数值。

(3)Executor数目及所占CPU个数
    如果是yarn-client模式,Executor数目由spark-env中的SPARK_EXECUTOR_INSTANCES指定,每个实例的数目由SPARK_EXECUTOR_CORES指定;如果是yarn-cluster模式,Executor的数目由spark-submit工具的--num-executors参数指定,默认是2个实例,而每个Executor使用的CPU数目由--executor-cores指定,默认为1核。

http://my.oschina.net/mkh/blog/330386

分享到:
评论

相关推荐

    poi大量数据读取gc内存溢出解决方案

    poi读取大量数据会造成gc内存溢出的报错,由于垃圾回收机制无法将大量的对象及时的回收,而这些对象又会保存在内存中,会导致内存不够用的情况,这时候我们就需要使用新的方法,读取为cvs即可.此解决方案可支持千万数据的...

    OutOfMemoryError Handbook

    OutOfMemoryError的8种经典案例,Java heap space、GC overhead limit exceeded、Permgen space、Metaspace、Unable to create new native thread、Out of swap space?、Requested array size exceeds VM limit、...

    myeclipse 解决内存的问题

    如果发现myeclipse慢了,则可以使用

    系统稳定性——OutOfMemoryError常见原因及解决方法1

    1. Java heap space 2. GC overhead limit exceeded 3. Permgen space 5. Unable to c

    xmemcached-1.2.6.2

    xmemcached-1.2.6.2

    R语言导入导出数据方法介绍

    讲述如何在R语言中导入导出数据的PPT,一共28张

    Eclipse下使用ANT编译提示OutOfMemory的解决方法

    由于需要使用ANT编译的代码比较多,特别是在第一次变异的时候,会出现OutOfMemory错误。并提示更改ANT_OPTS设定。

    关于java堆内存溢出的几种情况

    【情况一】  java.lang.OutOfMemoryError: Java heap space:这种是...  java.lang.OutOfMemoryError: GC overhead limit exceeded  【解释】:JDK6新增错误类型,当GC为释放很小空间占用大量时间时抛出;一般是

    hive on spark mr 数据开发常见问题解决

    hive工作常见问题解决收集...GC overhead limit exceeded Unknown primitive type VOID Output column number expected to be 0 when isRepeating from org.apache.hadoop.hive.ql.exec.mr.MapredLocalTask 空文件 等等

    Java堆内存又溢出了!教你一招必杀技(推荐)

    主要介绍了Java内存溢出问题,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧

    FTB-Presents-Stoneblock-2

    如果您的游戏在启动时崩溃,并且崩溃日志中的行类似于Caused by: java.lang.OutOfMemoryError: GC overhead limit exceeded或Caused by: java.lang.OutOfMemoryError: Java heap space ,这是因为游戏的RAM不足了。...

    SmaliInjector20170719

    若在 jar 转加 dex 的过程中出现 java.lang.OutOfMemoryError: GC overhead limit exceeded 的错误,请调大 main.bat 中的 -Xmx 和 -Xss 其它: ============================================================...

    java8源码-jvm-study:jvm-study

    java8 源码 jvm-study 方法执行过程 jvm申请内存 初始化运行时数据区 方法区:存放 class;静态变量:常量 堆:实例对象 栈:栈帧(对象的引用,方法) 类加载 执行方法 创建对象 堆空间分代划分 outOfMemory异常 ...

    Java程序挂掉的几种可能

    花了一整天在跟踪一个问题,每次感觉已经快找到原因的时候发现现象又变了,我觉得从中吸取的教训可以给大家分享一下。  为了重现这个现象,我写了一个简单的例子。在本例中,先初始化了一个map,然后用一个无限...

    sliding-block-puzzle:使用搜索算法解决滑块难题

    有两个证据可以证明这一点: 对于随机生成的15个难题,DFS总是会出现以下错误: java.lang.OutOfMemoryError: GC overhead limit exceeded如果我通过改组最终状态难题来创建15个拼图,那么随着改组次数的增加,DFS...

    Elasticsearch集群中JVM问题的应对之策

    Elasticsearch集群中JVM问题的应对之策,PDF文档,欢迎下载,11111

    Spark性能调优

    基于Spark2.0性能调优基于Spark2.0性能调优基于Spark2.0性能调优

    微信小程序用户信息解密失败导致的内存泄漏问题

    java.lang.OutOfMemoryError: GC overhead limit exceeded   at javax.crypto.JarVerifier.verifySingleJar(JarVerifier.java:426) at javax.crypto.JarVerifier.verifyJars(JarVerifier.java:322) at javax.crypto...

    WinAircrackPack

    破解无线网 我们今天就和大家一起谈谈WEP加密模式是如何被破解的,我们的出发点是如何保护好我们的网络,所谓知己知彼,百战不殆。

    中关村在线

    Handles occupy small amounts of memory in the GCHeap but potentially expensive unmanaged resources. ALLOCATION_RATE_COUNTER_009_NAME=Allocated Bytes/sec ALLOCATION_RATE_COUNTER_009_HELP=This counter...

Global site tag (gtag.js) - Google Analytics