【发布时间】:2020-03-03 03:21:21
【问题描述】:
我是 Spark 的新手,我正在关注此文档,通过 Livy https://docs.microsoft.com/en-us/azure/hdinsight/spark/apache-spark-livy-rest-interface 提交 Spark 作业
这是我的命令:
curl -k --user "username:password!" -v -H "Content-Type: application/json" -X POST -d '{ "file":"/test4spark/test4sparkhaha.jar", "className":"helloworld4spark.test" }' "https://xxx.azurehdinsight.net/livy/batches" -H "X-Requested-By: username"
文件 test4sparkhaha.jar 是一个超级简单的 Java 应用程序,它只包含一个类,并且只有一个打印“哈哈哈”的 main 方法,没有别的...... 我将 Eclipse 中的项目导出到 Runnable Jar 并尝试使用 Java -jar 和 Spark-submit 在我的 spark 集群上运行它。两者都运作良好。 然后我开始尝试通过 Livy 提交作业,但总是失败,我在 Yarn 日志中发现以下错误:
19/11/06 14:36:06 错误 ApplicationMaster:未捕获的异常: java.lang.IllegalStateException:用户没有初始化火花上下文! 在 org.apache.spark.deploy.yarn.ApplicationMaster.runDriver(ApplicationMaster.scala:510) 在 org.apache.spark.deploy.yarn.ApplicationMaster.org$apache$spark$deploy$yarn$ApplicationMaster$$runImpl(ApplicationMaster.scala:345) 在 org.apache.spark.deploy.yarn.ApplicationMaster$$anonfun$run$2.apply$mcV$sp(ApplicationMaster.scala:260) 在 org.apache.spark.deploy.yarn.ApplicationMaster$$anonfun$run$2.apply(ApplicationMaster.scala:260) 在 org.apache.spark.deploy.yarn.ApplicationMaster$$anonfun$run$2.apply(ApplicationMaster.scala:260) 在 org.apache.spark.deploy.yarn.ApplicationMaster$$anon$5.run(ApplicationMaster.scala:815) 在 java.security.AccessController.doPrivileged(本机方法) 在 javax.security.auth.Subject.doAs(Subject.java:422) 在 org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1869) 在 org.apache.spark.deploy.yarn.ApplicationMaster.doAsUser(ApplicationMaster.scala:814) 在 org.apache.spark.deploy.yarn.ApplicationMaster.run(ApplicationMaster.scala:259) 在 org.apache.spark.deploy.yarn.ApplicationMaster$.main(ApplicationMaster.scala:839) 在 org.apache.spark.deploy.yarn.ApplicationMaster.main(ApplicationMaster.scala)
这是我尝试的 Spark-submit 命令:
spark-submit --class helloworld4spark.test test4sparkhaha.jar
效果很好……
你们能帮我理解为什么它会在 Spark-submit 工作正常时出现错误吗?
【问题讨论】:
标签: java apache-spark hadoop azure-hdinsight