1.背景
这两天在开发Spark+Spark Streaming+Kafka程序重kafka读数据跟维表left join,在本地测试结果能达到预期,想部署到linux线上环境测试时,打包出现如标题所示异常即Process exited with an error: -10000(Exit value: -10000)
2.异常信息
查看异常详情,看到如下报错信息
[INFO] Checking for multiple versions of scala
[WARNING] Expected all dependencies to require Scala version: 2.11.12
[WARNING] org.apache.spark:spark-tags_2.11:2.4.0 requires scala version: 2.11.12
[WARNING] org.apache.spark:spark-streaming_2.11:2.4.0 requires scala version: 2.11.12
[WARNING] org.scala-lang:scala-reflect:2.11.12 requires scala version: 2.11.12
[WARNING] org.scala-lang.modules:scala-parser-combinators_2.11:1.1.0 requires scala version: 2.11.12
[WARNING] com.twitter:chill_2.11:0.9.3 requires scala version: 2.11.12
[WARNING] org.apache.spark:spark-core_2.11:2.4.0 requires scala version: 2.11.12
[WARNING] org.json4s:json4s-jackson_2.11:3.5.3 requires scala version: 2.11.11
[WARNING] Multiple versions of scala libraries detected!
[INFO] includes = [**/*.java,**/*.scala,]
[INFO] excludes = []
[INFO] E:\spark\XXXX\src\main\scala:-1: info: compiling
[INFO] Compiling 30 source files to E:\spark\XXXX\target\classes at 1660210321949
[ERROR] error: java.lang.StackOverflowError
[INFO] at scala.tools.nsc.transform.Erasure$Eraser.typed1(Erasure.scala:712)
[INFO] at scala.tools.nsc.typechecker.Typers$Typer.runTyper$1(Typers.scala:5423)
[INFO] at scala.tools.nsc.typechecker.Typers$Typer.scala$tools$nsc$typechecker$Typers$Typer$$typedInternal(Typers.scala:5450)
[INFO] at scala.tools.nsc.typechecker.Typers$Typer.body$2(Typers.scala:5397)
3.弯路
一开始一直拿警告信息到网上查找解决方案,但是有时候可以打包成功有时候又不可以,一开始也是这样。
即必应:Multiple versions of scala libraries detected!
4.解决方案
最后的解决途径
同事来看后发现错误信息是栈溢出异常即[ERROR] error: java.lang.StackOverflowError
于是乎就百度这个异常
maven error: java.lang.StackOverflowError
得到靠前的博客链接为:
maven打包报错java.lang.StackOverflowError解决方法
根据该博客指引把对应的虚拟机内存空间调大即可解决当前error
-Xms5024m -Xmx5024m
5.注意
如果还是失败,就一直往上加下面的参数值
-Xms6024m -Xmx6024m