spark任务爆出大量的java.lang.StackOverflowError

2023-10-23 11:20

本文主要是介绍spark任务爆出大量的java.lang.StackOverflowError,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

一、异常现象

   最近数据开发的同学提交的pySpark任务,在查询完数据后,在输出csv文件时,爆出大量的java.lang.StackOverflowError。

 

LogType:container-localizer-syslog

Log Upload Time:Mon Aug 15 23:25:59 +0800 2022

LogLength:170

Log Contents:

2022-08-15 23:24:12,698 WARN [main] org.apache.hadoop.yarn.server.nodemanager.containermanager.localizer.ContainerLocalizer: Localization running as yarn_user not yi.wei

End of LogType:container-localizer-syslog

LogType:stderr

Log Upload Time:Mon Aug 15 23:25:59 +0800 2022

LogLength:437947

Log Contents:

OpenJDK 64-Bit Server VM warning: ignoring option MaxPermSize=1024M; support was removed in 8.0

SLF4J: Class path contains multiple SLF4J bindings.

SLF4J: Found binding in [jar:file:/srv/BigData/data24/nm/localdir/filecache/55954/spark-assembly-2.4.3-hadoop2.6.5-1.0.jar!/org/slf4j/impl/StaticLoggerBinder.class]

SLF4J: Found binding in [jar:file:/opt/share/slf4j-log4j12-1.7.26/slf4j-log4j12-1.7.26.jar!/org/slf4j/impl/StaticLoggerBinder.class]

SLF4J: See SLF4J Error Codes for an explanation.

SLF4J: Actual binding is of type [org.slf4j.impl.Log4jLoggerFactory]

22/08/15 23:25:55 ERROR org.apache.spark.internal.Logging$class.logError(Logging.scala:91): Exception in task 5.1 in stage 31.0 (TID 3717)

java.lang.StackOverflowError

    at org.codehaus.janino.CodeContext.flowAnalysis(CodeContext.java:395)

    at org.codehaus.janino.CodeContext.flowAnalysis(CodeContext.java:557)

    at org.codehaus.janino.CodeContext.flowAnalysis(CodeContext.java:557)

    at org.codehaus.janino.CodeContext.flowAnalysis(CodeContext.java:557)

    at org.codehaus.janino.CodeContext.flowAnalysis(CodeContext.java:557)

    at org.codehaus.janino.CodeContext.flowAnalysis(CodeContext.java:557)

    at org.codehaus.janino.CodeContext.flowAnalysis(CodeContext.java:557)

    at org.codehaus.janino.CodeContext.flowAnalysis(CodeContext.java:557)

    at org.codehaus.janino.CodeContext.flowAnalysis(CodeContext.java:557)

    at org.codehaus.janino.CodeContext.flowAnalysis(CodeContext.java:557)

    at org.codehaus.janino.CodeContext.flowAnalysis(CodeContext.java:557)

    at org.codehaus.janino.CodeContext.flowAnalysis(CodeContext.java:557)

    at org.codehaus.janino.CodeContext.flowAnalysis(CodeContext.java:557)

    at org.codehaus.janino.CodeContext.flowAnalysis(CodeContext.java:557)

    at org.codehaus.janino.CodeContext.flowAnalysis(CodeContext.java:557)

    at org.codehaus.janino.CodeContext.flowAnalysis(CodeContext.java:55

 StackOverflowError异常,通常是在Jvm的常见的错误,java的线程栈内存溢出。通过参考网上大牛分享的类似问题的文章,jvm一般是java栈和本地方法栈中,报出StackOverflowError。

 当报出StackOverflowError异常时,通过调整jvm参数-xss 线程栈内存大小来解决。

二、处理方式

调整spark任务的executor的jvm参数配置: spark.executor.extraJavaOptions=-Xss128M

调整后,pyspark任务顺利执行完成。如果依赖报出,可以适当调整到256M.

这篇关于spark任务爆出大量的java.lang.StackOverflowError的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/267500

相关文章

SpringBoot集成Milvus实现数据增删改查功能

《SpringBoot集成Milvus实现数据增删改查功能》milvus支持的语言比较多,支持python,Java,Go,node等开发语言,本文主要介绍如何使用Java语言,采用springboo... 目录1、Milvus基本概念2、添加maven依赖3、配置yml文件4、创建MilvusClient

浅析Java中如何优雅地处理null值

《浅析Java中如何优雅地处理null值》这篇文章主要为大家详细介绍了如何结合Lambda表达式和Optional,让Java更优雅地处理null值,感兴趣的小伙伴可以跟随小编一起学习一下... 目录场景 1:不为 null 则执行场景 2:不为 null 则返回,为 null 则返回特定值或抛出异常场景

SpringMVC获取请求参数的方法

《SpringMVC获取请求参数的方法》:本文主要介绍SpringMVC获取请求参数的方法,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下... 目录1、通过ServletAPI获取2、通过控制器方法的形参获取请求参数3、@RequestParam4、@

SpringBoot应用中出现的Full GC问题的场景与解决

《SpringBoot应用中出现的FullGC问题的场景与解决》这篇文章主要为大家详细介绍了SpringBoot应用中出现的FullGC问题的场景与解决方法,文中的示例代码讲解详细,感兴趣的小伙伴可... 目录Full GC的原理与触发条件原理触发条件对Spring Boot应用的影响示例代码优化建议结论F

springboot项目中常用的工具类和api详解

《springboot项目中常用的工具类和api详解》在SpringBoot项目中,开发者通常会依赖一些工具类和API来简化开发、提高效率,以下是一些常用的工具类及其典型应用场景,涵盖Spring原生... 目录1. Spring Framework 自带工具类(1) StringUtils(2) Coll

SpringBoot条件注解核心作用与使用场景详解

《SpringBoot条件注解核心作用与使用场景详解》SpringBoot的条件注解为开发者提供了强大的动态配置能力,理解其原理和适用场景是构建灵活、可扩展应用的关键,本文将系统梳理所有常用的条件注... 目录引言一、条件注解的核心机制二、SpringBoot内置条件注解详解1、@ConditionalOn

通过Spring层面进行事务回滚的实现

《通过Spring层面进行事务回滚的实现》本文主要介绍了通过Spring层面进行事务回滚的实现,包括声明式事务和编程式事务,具有一定的参考价值,感兴趣的可以了解一下... 目录声明式事务回滚:1. 基础注解配置2. 指定回滚异常类型3. ​不回滚特殊场景编程式事务回滚:1. ​使用 TransactionT

Spring LDAP目录服务的使用示例

《SpringLDAP目录服务的使用示例》本文主要介绍了SpringLDAP目录服务的使用示例... 目录引言一、Spring LDAP基础二、LdapTemplate详解三、LDAP对象映射四、基本LDAP操作4.1 查询操作4.2 添加操作4.3 修改操作4.4 删除操作五、认证与授权六、高级特性与最佳

Spring Shell 命令行实现交互式Shell应用开发

《SpringShell命令行实现交互式Shell应用开发》本文主要介绍了SpringShell命令行实现交互式Shell应用开发,能够帮助开发者快速构建功能丰富的命令行应用程序,具有一定的参考价... 目录引言一、Spring Shell概述二、创建命令类三、命令参数处理四、命令分组与帮助系统五、自定义S

SpringQuartz定时任务核心组件JobDetail与Trigger配置

《SpringQuartz定时任务核心组件JobDetail与Trigger配置》Spring框架与Quartz调度器的集成提供了强大而灵活的定时任务解决方案,本文主要介绍了SpringQuartz定... 目录引言一、Spring Quartz基础架构1.1 核心组件概述1.2 Spring集成优势二、J