上传jar时,Spark作业服务器丢失了内存

时间:2014-10-21 13:39:18

标签: apache-spark

尝试上传使用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无法上传。

1 个答案:

答案 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/