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 提交的主要内容,如果未能解决你的问题,请参考以下文章