Spark JobServer没有运行我提交的工作

我正在尝试在git中描述的将Spark JobServer设置为主机中的docker实例

Spark Jobserver Docker

所以我只用一行创build了一个Dockerfile: –

from sparkjobserver/spark-jobserver:0.7.0.mesos-0.25.0.spark-1.6.2 

然后我build立了Docker镜像:

 docker build -t spark-jobserver --rm . 

并运行它:

 docker run -d -p 8090:8090 -t spark-jobserver 

到现在为止还挺好。

我在项目中打包了示例WordCount项目。 然后我将jar提交给JobServer

 curl --data-binary @job-server-tests/target/scala-2.11/job-server-tests_2.11-0.8.0-SNAPSHOT.jar localhost:8090/jars/test 

{
“地位”:“成功”,
“结果”:“Jar上传”
}%

当我尝试运行这个工作时,

 curl -d "input.string = abcab see" "localhost:8090/jobs?appName=test&classPath=spark.jobserver.WordCountExample" 

我得到这个错误:

{
“状态”:“错误”,
“结果”:{
“消息”:“在[3000ms]之后超时[Actor [akka:// JobServer / user / job-info#-258556954]]”
“errorClass”:“akka.pattern.AskTimeoutException”,
“堆栈”:
[“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 $并发$ $未来$$ 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 $ $匿名$ 8.run(Scheduler.scala:375)”,
“java.lang.Thread.run(Thread.java:745)”]
}

如果我查询使用的工作

 curl localhost:8090/jobs 

我明白了

[{
“工期”:“工作还没完成”,
“classPath”:“spark.jobserver.WordCountExample”,
“startTime”:“2017-08-25T07:33:07.461Z”,
“context”:“edaa338d-spark.jobserver.WordCountExample”,
“状态”:“正在运行”,
“jobId”:“600725e0-5cbd-4207-b741-01abf1014f9d”
}]

现在我只是运行一切细节。 我将所有设置作为默认设置。 有什么我做错了吗? 有什么额外的设置,我需要做的,以使工作运行? 希望有人能就此提出build议。

从docker日志,我观察

[2017-08-25 07:33:09,516]信息AkkaClusterSupervisorActor [] [akka:// JobServer / user / context-supervisor] – 演员结束:jobManager-56-82d6-319b4bd82265 [2017-08-25 07:33: 09,822] ERROR ark.jobserver.JobInfoActor [] [] – 由于exception而重新启动actor:org.h2.jdbc.JdbcSQLException:数据库可能已被使用:“被另一个进程locking”。 可能的解决scheme:closures所有其他连接; 在org.h2.message的org.h2.message.DbException.get(DbException.java:178)处使用org.h2.message.DbException.getJdbcSQLException(DbException.java:344)处的服务器模式[90020-176]。在org.h2.store的org.h2.store.FileLock.lockFile(FileLock.java:356)处的org.h2.store.FileLock.getExceptionAlreadyInUse(FileLock.java:462)处的DbException.get(DbException.java:154) .fileLock.lock(FileLock.java:136)在org.h2.engine.Database.open(Database.java:622)在org.h2.engine.Database.openDatabase(Database.java:260)在org.h2。在org.h2.engine.Engine.openSession(Engine.java:57)上的org.h2.engine.Engine.openSession(Engine.java:164)org.h2上的engine.Database。(Database.java:254)。在org.h2.engine.Engine.createSession(Engine.java:125)上的org.h2.engine.Engine.createSession(Engine.java:27)上的engine.Engine.createSessionAndValidate(Engine.java:142) .engine.SessionRemote.connectEmbeddedOrServer(SessionRemote.java:331)at org.h2.jdbc.JdbcConnection。(JdbcConnection.java:107)at org.h2.jdbc.JdbcConnection。(JdbcConnectio 在slick.jdbc.DataSourceJdbcDataSource.createConnection(JdbcDataSource.scala:64)处的slick.jdbc.DriverDataSource.getConnection(DriverDataSource.scala:98)处的org.h2.Driver.connect(Driver.java:74) )在slick.jdbc.JdbcBackend $ BaseSession.conn $ lzycompute(JdbcBackend.scala:415)在slick.jdbc.JdbcBackend $ BaseSession.conn(JdbcBackend.scala:414)在slick.jdbc.JdbcBackend $ SessionDef $ class.prepareStatement JdbcBackend.scala:297)at slick.jdbc.JdbcBackend $ BaseSession.prepareStatement(JdbcBackend.scala:407)at slick.jdbc.JdbcBackend $ SessionDef $ class.withPreparedStatement(JdbcBackend.scala:346)at slick.jdbc.JdbcBackend $ BaseSession .withPreparedStatement(JdbcBackend.scala:407)at slick.driver.JdbcActionComponent $ InsertActionComposerImpl.preparedInsert(JdbcActionComponent.scala:498)at slick.driver.JdbcActionComponent $ InsertActionComposerImpl $ SingleInsertAction.run(JdbcActionComponent.scala:504)at slick.driver。 JdbcActionComponent $ SimpleJdbcDriverAction.run(JdbcActionComponent.scala:32)在SL ick.driver.JdbcActionComponent $ SimpleJdbcDriverAction.run(JdbcActionComponent.scala:29)at slick.backend.DatabaseComponent $ DatabaseDef $$ anon $ 2.liftedTree1 $ 1(DatabaseComponent.scala:237)at slick.backend.DatabaseComponent $ DatabaseDef $$ anon $ 2 .run(DatabaseComponent.scala:237)at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)at java.util.concurrent.ThreadPoolExecutor $ Worker.run(ThreadPoolExecutor.java:615)at java.lang。 Thread.run(Thread.java:745)