尝试上传使用maven阴影插件构建的jar来激活作业服务器会导致以下错误。
作业服务器[错误]来自线程[JobServer-akka.actor.default-dispatcher-2]的未捕获错误,因为为ActorSystem [JobServer]启用了'akka.jvm-exit-on-fatal-error'而关闭了JVM job-server [ERROR] java.lang.OutOfMemoryError:Java堆空间 atkka.util.ByteString的作业服务器[错误] $ ByteStrings.compact(ByteString.scala:253) spray.can.parsing.HttpMessagePartParser.entity(HttpMessagePartParser.scala:210)中的job-server [ERROR] spray.can.parsing.HttpMessagePartParser.parseFixedLengthBody(HttpMessagePartParser.scala:124)中的作业服务器[错误] job.can.parsing.HttpMessagePartParser上的job-server [ERROR] $$ anonfun $ parseFixedLengthBody $ 3.apply(HttpMessagePartParser.scala:129) job.can.parsing.HttpMessagePartParser上的job-server [ERROR] $$ anonfun $ parseFixedLengthBody $ 3.apply(HttpMessagePartParser.scala:129) spray.can.parsing.HttpMessagePartParser上的job-server [ERROR] $$ anonfun $ needMoreData $ 2.apply(HttpMessagePartParser.scala:215) spray.can.parsing.HttpMessagePartParser上的job-server [ERROR] $$ anonfun $ needMoreData $ 2.apply(HttpMessagePartParser.scala:215) job.can.server上的job-server [错误] .RequestParsing $$ anon $ 1 $$ anon $ 2 $$ anonfun $ 2.apply(RequestParsing.scala:87) job.can.server上的job-server [错误] .RequestParsing $$ anon $ 1 $$ anon $ 2 $$ anonfun $ 2.apply(RequestParsing.scala:85) spray.io.RawPipelineStage上的job-server [ERROR] $$ anon $ 3 $$ anonfun $ 2.apply(Pipelines.scala:115) spray.io.RawPipelineStage上的job-server [ERROR] $$ anon $ 3 $$ anonfun $ 2.apply(Pipelines.scala:115) 在spray.io.ConnectionTimeouts的作业服务器[错误] $$ anon $ 2 $$ anon $ 1 $$ anon $ 3 $$ anonfun $ 2.apply(ConnectionTimeouts.scala:56) job.io.ConnectionTimeouts上的job-server [ERROR] $$ anon $ 2 $$ anon $ 1 $$ anon $ 3 $$ anonfun $ 2.apply(ConnectionTimeouts.scala:55) spray.io.DynamicPipelines $ class.process(Pipelines.scala:50)中的作业服务器[错误] 在spray.io.ConnectionTimeouts $$ anon $ 2 $$ anon $ 1.process(ConnectionTimeouts.scala:39)的作业服务器[错误] spray.io.DynamicPipelines上的job-server [ERROR] $$ anonfun $ eventPipeline $ 1.apply(Pipelines.scala:48) spray.io.DynamicPipelines上的job-server [ERROR] $$ anonfun $ eventPipeline $ 1.apply(Pipelines.scala:48) spray.io.RawPipelineStage上的job-server [ERROR] $$ anon $ 3 $$ anonfun $ 2.apply(Pipelines.scala:115) spray.io.RawPipelineStage上的job-server [ERROR] $$ anon $ 3 $$ anonfun $ 2.apply(Pipelines.scala:115) spray.io.PreventHalfClosedConnections上的job-server [ERROR] $$ anon $ 1 $$ anon $ 2 $$ anonfun $ connected $ 1.apply(PreventHalfClosedConnections.scala:30) spray.io.PreventHalfClosedConnections上的job-server [ERROR] $$ anon $ 1 $$ anon $ 2 $$ anonfun $ connected $ 1.apply(PreventHalfClosedConnections.scala:25) spray.io.DynamicEventPipeline上的作业服务器[错误] $ SwitchableEventPipeline.apply(Pipelines.scala:79) spray.io.DynamicEventPipeline上的作业服务器[错误] $ SwitchableEventPipeline.apply(Pipelines.scala:78) spray.io.RawPipelineStage上的job-server [ERROR] $$ anon $ 3 $$ anonfun $ 2.apply(Pipelines.scala:115) spray.io.RawPipelineStage上的job-server [ERROR] $$ anon $ 3 $$ anonfun $ 2.apply(Pipelines.scala:115) spray.io.TickGenerator上的job-server [ERROR] $$ anon $ 1 $$ anon $ 2 $$ anonfun $ 1.apply(TickGenerator.scala:41) job.io.TickGenerator上的job-server [ERROR] $$ anon $ 1 $$ anon $ 2 $$ anonfun $ 1.apply(TickGenerator.scala:38) spray.io.RawPipelineStage上的job-server [ERROR] $$ anon $ 3 $$ anonfun $ 2.apply(Pipelines.scala:115) spray.io.RawPipelineStage上的job-server [ERROR] $$ anon $ 3 $$ anonfun $ 2.apply(Pipelines.scala:115) job.io.BackPressureHandling上的job-server [错误] $ anon $ 2 $$ anon $ 1 $$ anon $ 3 $$ anonfun $ eventPipeline $ 1.apply(BackPressureHandling.scala:122) job.io.BackPressureHandling上的job-server [错误] $ anon $ 2 $$ anon $ 1 $$ anon $ 3 $$ anonfun $ eventPipeline $ 1.apply(BackPressureHandling.scala:103) spray.io.DynamicPipelines $ class.process(Pipelines.scala:50)中的作业服务器[错误] job-server ...以退出代码255结束
我正在使用以下设置启动我的作业服务器 “重新启动config / local.conf --- -Dspray.can.parsing.max-content-length = 200m”
用于上传jar的命令
curl --data-binary @ uber-BestSelling-0.0.1-SNAPSHOT.jar localhost:8090 / jars /畅销书
Spark作业测试和单词计数效果很好,但我的自定义jar无法上传。
答案 0 :(得分:0)
您应该修改spray-can HTTP服务器parsing.max-content-length
设置以允许上传更大的文件:
在以下示例中,我将max-content-length增加到100MB:
spray.can.server {
parsing.max-content-length = 100m
}
有关配置spray-can HTTP服务器的说明,请访问: http://spray.io/documentation/1.1.2/spray-can/configuration/