2015-04-14 4 views
1

У меня проблема с сервером задания Apache и моим .jar с SparkJob. У меня есть VirtualBox с DataStax. Есть Кассандра и Искра. Я устанавливаю сервер-сервер Apache с git job-server. Я хочу, чтобы запустить примеры, так что я пишу sbt job-server-tests/package и следующий запуск задание-сервер от терминала sbt re-startЗапустите мой SparkJob на сервере-сервере apache

примеров из рабочих мест работы сервера

  1. curl --data-binary @/home/job-server/job-server-tests/target/job.jar localhost:8090/jars/test
  2. curl -d "" 'localhost:8090/jobs?appName=test&classPath=spark.jobserver.LongPiJob'

проблема, когда я делаю мой .jar Я использую eclipse для Windows с помощью Scala IDE. Я установил плагин sbteclipse и создал папку C:\Users\user\scalaWorkspace\LongPiJob с проектом scala. Я запустил cmd, перейдите в эту папку и запустите sbt eclipsesbt compile и sbt package. Затем я копирую .jar в VirtualBox. Затем я использую . curl command. Когда я использую . curl command Я получаю ошибку

job-server[ERROR] Exception in thread "pool-25-thread-1" java.lang.AbstractMethodError: com.forszpaniak.LongPiJob$.validate(Ljava/lang/Object;Lcom/typesafe/config/Config;)Lspark/jobserver/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) job-server[ERROR] at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) job-server[ERROR] at java.lang.Thread.run(Thread.java:745)

в терминале, где я запустил сервер. В завитка терминале я получаю

[[email protected] 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]] after [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)"] }

Я мой .jar я использую код из примера LongPiJob.scala. Я искал некоторую информацию об этой ошибке сервера, и я думаю, это может быть проблема с версией?

java.lang.AbstractMethodError: com.forszpaniak.LongPiJob $ .validate (Ljava/языки/объект; Lcom/типизированный/конфигурация/Config;) Lspark/jobserver/SparkJobValidation;

Я думаю, что вместо того, чтобы объект должен быть SparkContext ...

I use DataStax: 4.6 job-server: 0.5.1 scala: 2.10.4 sbt: 0.13 spark: 1.1.0

My test code

ответ

4

Искра JobServer 0.5.1 совместима с искрой 1.3.0, вы используете 1.1.0. Сначала я попытаюсь изменить это на 0.4.1.

Version Spark Version 
    0.3.1 0.9.1 
    0.4.0 1.0.2 
    0.4.1 1.1.0 
    0.5.0 1.2.0 
    0.5.1 1.3.0 

Тогда вы можете изменить скрипт startup_server.sh так, чтобы он использовал путь класса DSE. Это должно помочь вам избежать других ошибок в будущем.

Что-то вроде

dse spark-submit --class $MAIN $appdir/spark-job-server.jar --driver-java-options "$GC_OPTS $JAVA_OPTS $LOGGING_OPTS" $conffile 2>&1 & 

Вот репо, где я изменил сценарий запуска сервера для работы с DSE (4.7, но она должна быть похожа на 4.6)

https://github.com/RussellSpitzer/spark-jobserver/blob/DSP-47-EAP3/bin/server_start.sh

+0

Thx, ваш ответ помогает мне;) У меня был неправильный вариант job-server. У меня есть другой вопрос, но я буду делать новую тему на SO. –

+0

Я использую ваш скрипт server_start.sh, но у меня есть две проблемы. Как я могу остановить сервер заданий, потому что server_stop.sh не останавливает это, и я не вижу никакой работы в SparkUI, даже искр-sumbit -class spark.jobserver.JobServer и т. Д.? Я могу видеть мои вакансии только в JoberverUI –

Смежные вопросы