ibm bluemix spark submit

时间:2017-06-02 13:15:57

标签: scala apache-spark ibm-cloud spark-submit

我是Bluemix的新手。我创建了Apache Spark服务,并尝试通过spark submit提交一个简单的hello-world jar。 (我使用此链接休闲:https://console.ng.bluemix.net/docs/services/AnalyticsforApacheSpark/index-gentopic3.html#genTopProcId4

提交jar后,日志文件显示:

  

提交工作结果:{“action”:“CreateSubmissionResponse”,
  “消息”:“驱动程序成功提交为   driver-20170602xxxxxxxxxxx“,”serverSparkVersion“:”2.0.2“,
  “submissionId”:“driver-20170602xxxxxxxxxxx”,“成功”:true}

     

提交ID:driver-20170602xxxxxxxxxxx提交的作业:   driver-driver-20170602xxxxxxxxxxx轮询作业状态。民意调查#1。   获得状态   ====状态输出失败=========================================== ==========错误:工作失败。 spark-submit日志文件:spark-submit_1496403637550663675.log   在stdout_1496403637550663675查看工作的stdout日志查看工作的stderr   登录stderr_1496403637550663675 ​​

在这种情况下可能出现什么问题?

此外,我看到人们谈论笔记本和木星访问/运行火花工作。但我没有在我的仪表板上看到笔记本/ Jupiter选项。

感谢您的投入

stdout上的卷曲,即(https://spark.eu-gb.bluemix.net/tenant/data/workdir/driver-20170614074046xxxxxxxxx277e6a/stdout)是:“没有定义额外的配置”

但我在stderr上找到了以下错误消息:

log4j:ERROR无法找到密钥log4j.appender.FILE的值 log4j:错误无法实例化名为“FILE”的appender。  错误deploy.ego.EGOClusterDriverWrapper:未捕获的异常: java.nio.file.NoSuchFileException:/gpfs/fs01/user/sd74-836f4292ca6442xxxxxxxx/data/e717e66fe44f5a1ea7eec81cbd/hellospark_2.11-1.0.jar         at sun.nio.fs.UnixException.translateToIOException(UnixException.java:98)         at sun.nio.fs.UnixException.rethrowAsIOException(UnixException.java:114)         at sun.nio.fs.UnixException.rethrowAsIOException(UnixException.java:119)         at sun.nio.fs.UnixCopyFile.copy(UnixCopyFile.java:538)         at sun.nio.fs.UnixFileSystemProvider.copy(UnixFileSystemProvider.java:265)         在java.nio.file.Files.copy(Files.java:1285)         at org.apache.spark.util.Utils $ .org $ apache $ spark $ util $ Utils $$ copyRecursive(Utils.scala:629)         在org.apache.spark.util.Utils $ .copyFile(Utils.scala:600)         在org.apache.spark.util.Utils $ .doFetchFile(Utils.scala:685)         在org.apache.spark.util.Utils $ .fetchFile(Utils.scala:484)         在org.apache.spark.deploy.ego.EGOClusterDriverWrapper $$ anonfun $ startUserClass $ 2.apply(EGOClusterDriverWrapper.scala:411)         在org.apache.spark.deploy.ego.EGOClusterDriverWrapper $$ anonfun $ startUserClass $ 2.apply(EGOClusterDriverWrapper.scala:404)         在scala.collection.IndexedSeqOptimized $ class.foreach(IndexedSeqOptimized.scala:33)         at scala.collection.mutable.ArrayOps $ ofRef.foreach(ArrayOps.scala:186)         在org.apache.spark.deploy.ego.EGOClusterDriverWrapper.startUserClass(EGOClusterDriverWrapper.scala:404)         在org.apache.spark.deploy.ego.EGOClusterDriverWrapper.runDriver(EGOClusterDriverWrapper.scala:295)         在org.apache.spark.deploy.ego.EGOClusterDriverWrapper.run(EGOClusterDriverWrapper.scala:218)         at org.apache.spark.deploy.ego.EGOClusterDriverWrapper $$ anonfun $ receive $ 1 $$ anon $ 1.run(EGOClusterDriverWrapper.scala:144)

2 个答案:

答案 0 :(得分:0)

看起来你已经粘贴了spark提交脚本的输出而不是日志文件的内容?

您可以使用以下方式访问日志文件:

curl \
   -X GET \
   -u <tenant_id>:<tenant_secret> \
   -H 'X-Spark-service-instance-id: <instance_id>' \
   https://169.54.219.20/tenant/data/workdir/<submission-id>/stdout

如果您需要更多帮助,我建议您在日志文件中打开一个包含错误消息的新问题。

对于问题的第二部分,可以通过Data Science Experience获得spark的笔记本。您可以在此处注册数据科学体验:https://datascience.ibm.com

答案 1 :(得分:0)

我也遇到了这个错误,问题是我没有在spark-submit中提供jar的路径。因此,当它上传罐子时,日志中会出现这样的错误:

  

local2server结果:{“ content_error”:“ HTTP请求正文为空。”}

在spark-submit中向jar添加路径有助于解决我的问题,请尝试以下操作:

./target/scala-2.10/hellospark_2.10-1.0.jar