我已经为 Namenode 和 ResourceManager 设置了一个具有 HA 的 3 节点 hadoop 集群。我还在其中一台 NameNode 机器上安装了 Spark Job Server。
我已经测试了正在运行的作业服务器测试示例,例如 WordCount Example 和 LongPi Job,它运行完美,没有问题。我还可以从远程主机发出 curl 命令,通过 Spark Job Server 读出结果。
但是,当我将“spark-examples-1.6.0-hadoop2.6.0.jar”上传到 spark-job-server/jars 并尝试运行 SparkPi 作业时,它失败了,
[hduser@ptfhadoop02v lib]$ curl -d "" 'ptfhadoop01v:8090/jobs?appName=SparkPi&classPath=org.apache.spark.examples.SparkPi'
{
"status": "ERROR",
"result": {
"message": "Ask timed out on [Actor[akka://JobServer/user/context-supervisor/ece2be39-org.apache.spark.examples.SparkPi#-630965857]] 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)"]
}
我还尝试手动将SparkPi.scala作业放在/usr/local/hadoop/spark-jobserver/job-server-tests/src/spark.jobserver下并使用 SBT 构建包,但它抛出了同样的错误。
版本信息
[hduser@ptfhadoop01v spark.jobserver]$ sbt sbtVersion
[info] Set current project to spark-jobserver (in build file:/usr/local/hadoop/spark-jobserver/job-server-tests/src/spark.jobserver/)
[info] 0.13.11
Spark Version - spark-1.6.0
Scala Version - 2.10.4
有关如何摆脱此错误并从 spark-examples jar 文件中获取输出的任何建议