ibm bluemix spark 提交

Posted

技术标签:

【中文标题】ibm bluemix spark 提交【英文标题】:ibm bluemix spark submit 【发布时间】:2017-06-02 13:15:57 【问题描述】:

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

提交jar后,日志文件说:

提交作业结果: "action" : "CreateSubmissionResponse", "message" : "驱动成功提交为 driver-20170602xxxxxxxxxxx", "serverSparkVersion" : "2.0.2", "submissionId" : "driver-20170602xxxxxxxxxxx", "success" : true

提交 ID:driver-20170602xxxxxxxxxxx 提交的工作: driver-driver-20170602xxxxxxxxxxx 轮询作业状态。投票#1。 获取状态 ==== 失败状态输出 ============================================ ========== 错误:作业失败。火花提交日志文件:火花提交_1496403637550663675.log 在 stdout_1496403637550663675 ​​查看作业的标准输出日志 查看作业的标准错误 登录stderr_1496403637550663675

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

我还看到人们谈论 notebook 和 Jupiter 来访问/运行 spark 作业。但我在仪表板上没有看到 notebook /Jupiter 选项。

感谢您的意见

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

但我在 stderr 上发现了以下错误消息:

log4j:ERROR 找不到键 log4j.appender.FILE 的值 log4j:错误无法实例化名为“FILE”的附加程序。 错误 deploy.ego.EGOClusterDriverWrapper:未捕获的异常: java.nio.file.NoSuchFileException:/gpfs/fs01/user/sd74-836f4292ca6442xxxxxxxx/data/e717e66fe44f5a1ea7eec81cbd/hellospark_2.11-1.0.jar 在 sun.nio.fs.UnixException.translateToIOException(UnixException.java:98) 在 sun.nio.fs.UnixException.rethrowAsIOException(UnixException.java:114) 在 sun.nio.fs.UnixException.rethrowAsIOException(UnixException.java:119) 在 sun.nio.fs.UnixCopyFile.copy(UnixCopyFile.java:538) 在 sun.nio.fs.UnixFileSystemProvider.copy(UnixFileSystemProvider.java:265) 在 java.nio.file.Files.copy(Files.java:1285) 在 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) 在 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) 在 org.apache.spark.deploy.ego.EGOClusterDriverWrapper$$anonfun$receive$1$$anon$1.run(EGOClusterDriverWrapper.scala:144)

【问题讨论】:

【参考方案1】:

您似乎粘贴了 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

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

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

【讨论】:

感谢您的意见。我通过添加火花的 sdterr 来编辑问题。请看一下【参考方案2】:

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

local2server 结果:"content_error":"HTTP 请求正文为空。"

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

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

【讨论】:

以上是关于ibm bluemix spark 提交的主要内容,如果未能解决你的问题,请参考以下文章

IBM Mobilefirst 和 IBM Bluemix

如何在 IBM Bluemix 中查看调试日志

IBM Bluemix体验:Containers进阶

markdown IBM BLuemix

IBM Bluemix 支持 Primefaces? [关闭]

基于IBM Bluemix的数据缓存应用实例