【发布时间】:2015-06-20 05:06:00
【问题描述】:
我在使用 Apache 作业服务器和使用 SparkJob 的 .jar 时遇到问题。
我有带 DataStax 的 VirtualBox。有 Cassandra 和 Spark。我从git job-server 安装 Apache 作业服务器。我想运行示例,所以我写了sbt job-server-tests/package,然后从终端sbt re-start 运行job-server
工作服务器工作示例
curl --data-binary @/home/job-server/job-server-tests/target/job.jar localhost:8090/jars/testcurl -d "" 'localhost:8090/jobs?appName=test&classPath=spark.jobserver.LongPiJob'
问题是当我制作我的 .jar
我在带有 Scala IDE 的 Windows 上使用 eclipse。我安装了 sbteclipse 插件,并使用 scala 项目创建了文件夹 C:\Users\user\scalaWorkspace\LongPiJob。我运行 cmd,转到此文件夹并运行 sbt eclipse sbt compile 和 sbt package。然后我将 .jar 复制到 VirtualBox。接下来我使用1。卷曲命令。当我使用 2 时。 curl命令我得到一个错误
job-server[ERROR] 线程“pool-25-thread-1”中的异常 java.lang.AbstractMethodError: com.forszpaniak.LongPiJob$.validate(Ljava/lang/Object;Lcom/typesafe/config/Config; )Lspark/jobserver/SparkJobValidation; 作业服务器 [错误] 在 spark.jobserver.JobManagerActor$$anonfun$spark$jobserver$JobManagerActor$$getJobFuture$4.apply(JobManagerActor.scala:225) scala.concurrent.impl.Future$PromiseCompletingRunnable.liftedTree1$1(Future.scala:24) 的作业服务器 [错误] scala.concurrent.impl.Future$PromiseCompletingRunnable.run(Future.scala:24) 处的作业服务器 [错误] java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) 处的作业服务器 [错误] java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) 处的作业服务器 [错误] java.lang.Thread.run(Thread.java:745) 处的作业服务器[错误]
在我启动服务器的终端中。在 curl 终端我得到 p>
[root@localhost spark-jobserver]# curl -d "stress.test.longpijob.duration=15" 'localhost:8090/jobs?appNametestJob1.5&classPath=com.forszpaniak.LongPiJob' { “状态”:“错误”, “结果”: { "message": "在 [10000 ms] 之后 [Akka://JobServer/user/context-supervisor/4538158c-com.forszpaniak.LongPiJob#-713999361]] 上的询问超时", "errorClass": "akka.pattern.AskTimeoutException", “堆栈”:[“akka.pattern.PromiseActorRef$$anonfun$1.apply$mcV$sp(AskSupport.scala:333)”,“akka.actor.Scheduler$$anon$7.run(Scheduler.scala:117)” , "scala.concurrent.Future$InternalCallbackExecutor$.scala$concurrent$Future$InternalCallbackExecutor$$unbatchedExecute(Future.scala:694)", "scala.concurrent.Future$InternalCallbackExecutor$.execute(Future.scala:691)", "akka.actor.LightArrayRevolverScheduler$TaskHolder.executeTask(Scheduler.scala:467)", "akka.actor.LightArrayRevolverScheduler$$anon$8.executeBucket$1(Scheduler.scala:419)", "akka.actor.LightArrayRevolverScheduler$$anon $8.nextTick(Scheduler.scala:423)", "akka.actor.LightArrayRevolverScheduler$$anon$8.run(Scheduler.scala:375)", "java.lang.Thread.run(Thread.java:745)"] }
我的 .jar 我使用来自示例 LongPiJob.scala 的代码。我搜索了一些有关此服务器错误的信息,我认为这可能是版本问题?
java.lang.AbstractMethodError: com.forszpaniak.LongPiJob$.validate(Ljava/lang/Object;Lcom/typesafe/config/Config;)Lspark/jobserver/SparkJobValidation;
我认为 Object 应该是 SparkContext...
我用 数据税:4.6 作业服务器:0.5.1 斯卡拉:2.10.4 sbt: 0.13 火花:1.1.0
【问题讨论】:
标签: cassandra sbt apache-spark datastax spark-jobserver