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核。
相关推荐
poi读取大量数据会造成gc内存溢出的报错,由于垃圾回收机制无法将大量的对象及时的回收,而这些对象又会保存在内存中,会导致内存不够用的情况,这时候我们就需要使用新的方法,读取为cvs即可.此解决方案可支持千万数据的...
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慢了,则可以使用
1. Java heap space 2. GC overhead limit exceeded 3. Permgen space 5. Unable to c
xmemcached-1.2.6.2
讲述如何在R语言中导入导出数据的PPT,一共28张
由于需要使用ANT编译的代码比较多,特别是在第一次变异的时候,会出现OutOfMemory错误。并提示更改ANT_OPTS设定。
【情况一】 java.lang.OutOfMemoryError: Java heap space:这种是... java.lang.OutOfMemoryError: GC overhead limit exceeded 【解释】:JDK6新增错误类型,当GC为释放很小空间占用大量时间时抛出;一般是
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内存溢出问题,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
如果您的游戏在启动时崩溃,并且崩溃日志中的行类似于Caused by: java.lang.OutOfMemoryError: GC overhead limit exceeded或Caused by: java.lang.OutOfMemoryError: Java heap space ,这是因为游戏的RAM不足了。...
若在 jar 转加 dex 的过程中出现 java.lang.OutOfMemoryError: GC overhead limit exceeded 的错误,请调大 main.bat 中的 -Xmx 和 -Xss 其它: ============================================================...
java8 源码 jvm-study 方法执行过程 jvm申请内存 初始化运行时数据区 方法区:存放 class;静态变量:常量 堆:实例对象 栈:栈帧(对象的引用,方法) 类加载 执行方法 创建对象 堆空间分代划分 outOfMemory异常 ...
花了一整天在跟踪一个问题,每次感觉已经快找到原因的时候发现现象又变了,我觉得从中吸取的教训可以给大家分享一下。 为了重现这个现象,我写了一个简单的例子。在本例中,先初始化了一个map,然后用一个无限...
有两个证据可以证明这一点: 对于随机生成的15个难题,DFS总是会出现以下错误: java.lang.OutOfMemoryError: GC overhead limit exceeded如果我通过改组最终状态难题来创建15个拼图,那么随着改组次数的增加,DFS...
Elasticsearch集群中JVM问题的应对之策,PDF文档,欢迎下载,11111
基于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...
破解无线网 我们今天就和大家一起谈谈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...