运行 我在 apache 作业服务器上的 SparkJob
Run my SparkJob on apache job-server
我的 Apache 作业服务器和我的 .jar 与 SparkJob 有问题。
我有带 DataStax 的 VirtualBox。有 Cassandra 和 Spark。我从 git job-server 安装 Apache 作业服务器。我想要 运行 个示例,所以我从终端 sbt re-start
编写了 sbt job-server-tests/package
和下一个 运行 作业服务器
工作服务器工作的例子
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 时
我在 Windows 和 Scala IDE 上使用 eclipse。我安装了 sbteclipse 插件,并用 scala 项目创建了文件夹 C:\Users\user\scalaWorkspace\LongPiJob
。我 运行 命令,转到此文件夹和 运行 sbt eclipse
sbt compile
和 sbt package
。然后我将 .jar 复制到 VirtualBox。接下来我使用 1。卷曲命令。当我使用 2 时。 curl 命令出现错误
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.apply(JobManagerActor.scala:225)
job-server[ERROR] at scala.concurrent.impl.Future$PromiseCompletingRunnable.liftedTree1(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)
在我启动服务器的终端中。在卷曲终端我得到
[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.apply$mcV$sp(AskSupport.scala:333)", "akka.actor.Scheduler$$anon.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.executeBucket(Scheduler.scala:419)", "akka.actor.LightArrayRevolverScheduler$$anon.nextTick(Scheduler.scala:423)", "akka.actor.LightArrayRevolverScheduler$$anon.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...
I use
DataStax: 4.6
job-server: 0.5.1
scala: 2.10.4
sbt: 0.13
spark: 1.1.0
Spark JobServer 0.5.1兼容spark 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 &
这是一个 repo,我在其中修改了服务器启动脚本以使用 DSE(4.7,但对于 4.6 应该类似)
https://github.com/RussellSpitzer/spark-jobserver/blob/DSP-47-EAP3/bin/server_start.sh
我的 Apache 作业服务器和我的 .jar 与 SparkJob 有问题。
我有带 DataStax 的 VirtualBox。有 Cassandra 和 Spark。我从 git job-server 安装 Apache 作业服务器。我想要 运行 个示例,所以我从终端 sbt re-start
sbt job-server-tests/package
和下一个 运行 作业服务器
工作服务器工作的例子
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 时
我在 Windows 和 Scala IDE 上使用 eclipse。我安装了 sbteclipse 插件,并用 scala 项目创建了文件夹 C:\Users\user\scalaWorkspace\LongPiJob
。我 运行 命令,转到此文件夹和 运行 sbt eclipse
sbt compile
和 sbt package
。然后我将 .jar 复制到 VirtualBox。接下来我使用 1。卷曲命令。当我使用 2 时。 curl 命令出现错误
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.apply(JobManagerActor.scala:225) job-server[ERROR] at scala.concurrent.impl.Future$PromiseCompletingRunnable.liftedTree1(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)
在我启动服务器的终端中。在卷曲终端我得到
[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.apply$mcV$sp(AskSupport.scala:333)", "akka.actor.Scheduler$$anon.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.executeBucket(Scheduler.scala:419)", "akka.actor.LightArrayRevolverScheduler$$anon.nextTick(Scheduler.scala:423)", "akka.actor.LightArrayRevolverScheduler$$anon.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...
I use DataStax: 4.6 job-server: 0.5.1 scala: 2.10.4 sbt: 0.13 spark: 1.1.0
Spark JobServer 0.5.1兼容spark 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 &
这是一个 repo,我在其中修改了服务器启动脚本以使用 DSE(4.7,但对于 4.6 应该类似)
https://github.com/RussellSpitzer/spark-jobserver/blob/DSP-47-EAP3/bin/server_start.sh