我运行的Apache SparkJob工作的服务器上 [英] Run my SparkJob on apache job-server

查看:738
本文介绍了我运行的Apache SparkJob工作的服务器上的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有工作的Apache服务器的一个问题,我与SparkJob的.jar。
我有VirtualBox的与DataStax。有卡桑德拉和星火。我安装从混帐作业服务器工作的Apache服务器。我想运行例子,让我写 SBT从终端作业服务器的测试/包装和下一个运行作业的服务器SBT重新启动

I have a problem with Apache job-server and my .jar with SparkJob. I have VirtualBox with DataStax. There are Cassandra and Spark. I install Apache job-server from git job-server. I want run examples so I write sbt job-server-tests/package and next run job-server from terminal sbt re-start

从工作服务器工作实例


  1. 卷曲--data二进制@ /家庭/工作 - 服务器/作业服务器的测试/目标/ job.jar本地主机:8090 /罐/测试

  2. 卷曲-d'本地主机:8090 /职位的appName =测试&放大器; CLASSPATH = spark.jobserver.LongPiJob'

  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:\\用户\\用户\\ scalaWorkspace \\ LongPiJob 使用Scala项目。我运行CMD,进入该文件夹,然后运行 SBT蚀 SBT编译 SBT包。然后,我复制到的.jar VirtualBox的。接下来,我使用 1 即可。 curl命令。当我使用 2 。 curl命令我得到一个错误

Problem is when I make my .jar I use eclipse on Windows with Scala IDE. I installed sbteclipse plugin and I made folder C:\Users\user\scalaWorkspace\LongPiJob with scala project. I run cmd, go to this folder and run sbt eclipse sbt compile and sbt package. Then I copy .jar to VirtualBox. Next I use 1. curl command. When I use 2. curl command I get a error

作业服务器[错误]异常螺纹池25线程1java.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)

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)

在终端在那里我开始服务器。在袅袅的终端,我得到

in terminal where I started server. In curl terminal I get

[根@本地火花jobserver]#卷曲-dstress.test.longpijob.duration = 15的'localhost:8090 /职位appNametestJob1.5和放大器; CLASSPATH = com.forszpaniak.LongPiJob
  {
    状态:ERROR,
    结果:{
      消息:问超时在[演员[阿卡://JobServer/user/context-supervisor/4538158c-com.forszpaniak.LongPiJob#-713999361]后[10000毫秒],
      errorClass:akka.pattern.AskTimeoutException,
      堆栈:akka.pattern.PromiseActorRef $$ anonfun $ 1.适用$ MCV $ SP(AskSupport.scala:333),akka.actor.Scheduler $$匿名$ 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 $$匿名$ 8 executeBucket $ 1(Scheduler.scala:419),akka.actor.LightArrayRevolverScheduler $$匿名$ 8.nextTick(Scheduler.scala:423),akka.actor.LightArrayRevolverScheduler $$匿名$ 8.run(Scheduler.scala:375 ),java.lang.Thread.run(Thread.java:745)]
    }

[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]] 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 code。我已搜查这个服务器错误的一些信息,我想,这可能是版本的问题?

I my .jar I use code from example LongPiJob.scala. I have searched some information about this server error and I think, it can be version problem?

java.lang.AbstractMethodError: com.forszpaniak.LongPiJob$.validate(Ljava/lang/Object;Lcom/typesafe/config/Config;)Lspark/jobserver/SparkJobValidation;

我觉得不是对象应该是SparkContext ...

I think instead Object should be SparkContext...

我用
  DataStax:4.6
  任务服务器:0.5.1
  斯卡拉:2.10.4
  SBT:0.13
  火花:1.1.0

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

我的测试code

My test code

推荐答案

星火JobServer 0.5.1与1.3.0火花兼容,您使用的是1.1.0。我会尝试改变,要0.4.1第一位。

The Spark JobServer 0.5.1 is compatible with spark 1.3.0, you are using 1.1.0. I would try changing that to 0.4.1 first.

  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类路径。这会帮助你避免在未来其他错误。

Then you may want to modify the startup_server.sh script such that it uses the DSE classpath. This should help you avoid other errors in the future.

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类似)

Here is a repo where I modified the server startup script to work with DSE (4.7 but it should be similar for 4.6)

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

这篇关于我运行的Apache SparkJob工作的服务器上的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆