我是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)
答案 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