2016-02-10 1 views
0

Цель заключается в создании следующих на локальном экземпляре искрового JobServer:Ошибка при использовании SparkJob с NamedRddSupport

object foo extends SparkJob with NamedRddSupport 

Вопрос: Как я могу исправить следующую ошибку, которая происходит на каждом месте работы:

{ 
    "status": "ERROR", 
    "result": { 
    "message": "Ask timed out on [Actor[akka://JobServer/user/context-supervisor/439b2467-spark.jobserver.genderPrediction#884262439]] after [10000 ms]", 
    "errorClass": "akka.pattern.AskTimeoutException", 
    "stack: ["akka.pattern.PromiseActorRef$$anonfun$1.apply$mcV$sp(AskSupport.scala:334)", "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)"] 
    } 
} 

описание более подробная ошибка искры JobServer:

job-server[ERROR] Exception in thread "pool-100-thread-1" java.lang.AbstractMethodError: spark.jobserver.genderPrediction$.namedObjectsPrivate()Ljava/util/concurrent/atomic/AtomicReference; 
job-server[ERROR] at spark.jobserver.JobManagerActor$$anonfun$spark$jobserver$JobManagerActor$$getJobFuture$4.apply(JobManagerActor.scala:248) 
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) 

В случае, если кто-то хочет видеть код: информация

package spark.jobserver 
import org.apache.spark.SparkContext._ 
import org.apache.spark.{SparkContext} 
import com.typesafe.config.{Config, ConfigFactory} 
import collection.JavaConversions._ 
import scala.io.Source 

object genderPrediction extends SparkJob with NamedRddSupport 
{ 
    // Main function 
    def main(args: scala.Array[String]) 
    { 
    val sc = new SparkContext() 
    sc.hadoopConfiguration.set("fs.tachyon.impl", "tachyon.hadoop.TFS") 
    val config = ConfigFactory.parseString("") 
    val results = runJob(sc, config) 
    } 

    def validate(sc: SparkContext, config: Config): SparkJobValidation = {SparkJobValid} 

    def runJob(sc: SparkContext, config: Config): Any = 
    { 
    return "ok"; 
    } 
} 

Версия: Спарк 1.5.0 - SparkJobServer самая последняя версия

Спасибо всем большое заранее!

ответ

1

Добавление большего пояснения к @noorul «s ответ

Похоже, что вы собрали код со старой версией SJS и вы работаете его с последним.

Недавно добавлены объекты NamedObjects. Вы получаете AbstractMethodError, потому что ваш сервер ожидает поддержки NamedObjects, и вы не скомпилировали код с этим.

Также: вам не нужен основной метод, так как он не будет выполнен SJS.

1

Убедитесь в том, что ваши версии и другие версии зависимых пакетов версии your.compile и runtime одинаковы.

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