Apache job-server と SparkJob の .jar に問題があります。私はDataStaxを備えたVirtualBoxを持っています。Cassandra と Spark があります。git job- server から Apache job-server をインストールします。例を実行したいのでsbt job-server-tests/package
、ターミナルからジョブサーバーを作成して次に実行しますsbt re-start
ジョブサーバー作業の例
curl --data-binary @/home/job-server/job-server-tests/target/job.jar localhost:8090/jars/test
curl -d "" 'localhost:8090/jobs?appName=test&classPath=spark.jobserver.LongPiJob'
問題は、.jar を作成するときに、Scala IDE を使用して Windows で eclipse を使用することです。sbteclipse プラグインをインストールC:\Users\user\scalaWorkspace\LongPiJob
し、scala プロジェクトでフォルダーを作成しました。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/ジョブサーバー/SparkJobValidation; job-server[ERROR] at spark.jobserver.JobManagerActor$$anonfun$spark$jobserver$JobManagerActor$$getJobFuture$4.apply(JobManagerActor.scala:225) job-server[ERROR] at scala.concurrent.impl.Future$PromiseCompletingRunnable .liftedTree1$1(Future.scala:24) job-server[ERROR] at scala.concurrent.impl.Future$PromiseCompletingRunnable.run(Future.scala:24) job-server[ERROR] at java.util.concurrent.ThreadPoolExecutor. runWorker(ThreadPoolExecutor.java:1145) ジョブ サーバー[エラー] java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) でジョブ サーバー[エラー] java.lang.Thread.run(Thread.ジャワ:745)
サーバーを起動したターミナルで。curlターミナルで私は得る
[root@localhost spark-jobserver]# curl -d "stress.test.longpijob.duration=15" 'localhost:8090/jobs?appNametestJob1.5&classPath=com.forszpaniak.LongPiJob' { "status": "ERROR", " result": { "message": "Ask timed out on [Actor[akka://JobServer/user/context-supervisor/4538158c-com.forszpaniak.LongPiJob#-713999361]] [10000 ms] 後", "errorClass" : "akka.pattern.AskTimeoutException", "stack": ["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)"] }LightArrayRevolverScheduler$$anon$8.run(Scheduler.scala:375)", "java.lang.Thread.run(Thread.java:745)"] }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 であるべきだと思います...
私は DataStax を使用します: 4.6 job-server: 0.5.1 scala: 2.10.4 sbt: 0.13 spark: 1.1.0