当前位置: 首页 > 知识库问答 >
问题:

使用Livy提交Spark作业时出错:用户未初始化火花上下文

袁翔
2023-03-14

我对Spark非常陌生,我正在遵循此文档通过Livy提交Spark jobshttps://docs.microsoft.com/en-us/azure/hdinsight/spark/apache-spark-livy-rest-interface

这是我的命令:

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应用程序,它只包含一个类,只有一个打印“哈哈哈”的主方法,没有别的...我将Eclipse中的项目导出到Runnable Jar,并尝试使用Java-jar和Spark提交在我的火花集群上运行它。两者都很好。然后我开始尝试通过Livy提交作业,但总是失败,我在Yarn日志中发现了以下错误:

2006年11月19日14:36:06错误ApplicationMaster:未捕获异常:java。lang.IllegalStateException:用户未初始化spark上下文!位于组织。阿帕奇。火花部署纱线应用程序管理员。org上的runDriver(ApplicationMaster.scala:510)。阿帕奇。火花部署纱线应用程序管理员。org$apache$spark$deploy$yarn$ApplicationMaster$$runImpl(ApplicationMaster.scala:345)位于org。阿帕奇。火花部署纱线ApplicationMaster$$anonfun$运行$2。在org上应用$mcV$sp(ApplicationMaster.scala:260)。阿帕奇。火花部署纱线ApplicationMaster$$anonfun$运行$2。在org上应用(ApplicationMaster.scala:260)。阿帕奇。火花部署纱线ApplicationMaster$$anonfun$运行$2。在org上应用(ApplicationMaster.scala:260)。阿帕奇。火花部署纱线ApplicationMaster$$不超过5美元。在java上运行(ApplicationMaster.scala:815)。安全AccessController。javax上的doPrivileged(本机方法)。安全授权。主题doAs(Subject.java:422)位于org。阿帕奇。hadoop。安全用户组信息。doAs(UserGroupInformation.java:1869)位于org。阿帕奇。火花部署纱线应用程序管理员。doAsUser(ApplicationMaster.scala:814)位于org。阿帕奇。火花部署纱线应用程序管理员。在org上运行(ApplicationMaster.scala:259)。阿帕奇。火花部署纱线ApplicationMaster美元。main(ApplicationMaster.scala:839)位于org。阿帕奇。火花部署纱线应用程序管理员。main(ApplicationMaster.scala)

这是我尝试的Spark提交命令:

spark-submit --class helloworld4spark.test test4sparkhaha.jar

它工作完美...

你们能帮我理解为什么Spark submit工作正常时会出现错误吗?

共有1个答案

冯峻
2023-03-14

我猜您正在尝试使用Livy提交本地. jar文件。对于Spark-提交它可以工作(向Yarn提交作业支持它),但对于Livy服务器则不支持。

要使其正常工作,您需要将jar上传到hdfs/wasb/adls/http可访问的位置(确保您的Spark已配置为访问该位置)。

请参阅本指南的第一段。

 类似资料:
  • 我正在尝试使用spark submit server2运行spark程序。py——主本地[2]。然后我得到了这个错误: 以下是我正在运行的代码: 谁能帮我一下我做错了什么。我试过这篇文章中的解决方案无法初始化spark上下文,但它不起作用。

  • 在集群UI上- 工人(奴隶)-工人-20160712083825-172.31.17.189-59433活着 已使用2个中的1个核心 活动阶段 /root/wordcount.py处的reduceByKey:23 悬而未决阶段 根据TaskSchedulerImpl:初始作业尚未接受任何资源;我分配的 火花环境变量 在奴隶身上复制了那些 Spark版本1.6.1 Ubuntu Amazon EC2

  • 我试图在Windows 8.1上运行Apache Spark调用Spark shell命令时,得到以下堆栈: 系统变量配置如下: HADOOP\u主页: c: \ hadoop JAVA_HOME: C: \Java\jdk1.8.0\u 162 SCALA_HOME: C: \斯卡拉 SPARK\u主页: C: \ spark\spark-2.3.0-bin-hadoop2.7 路径: %JAV

  • 我试图在Python中初始化火花上下文变量。 但我得到了以下错误: py4j。协议Py4JJavaError:调用None时出错。组织。阿帕奇。火花应用程序编程接口。JAVAJavaSparkContext.:JAVAlang.NoClassDefFoundError:无法初始化类组织。阿帕奇。火花内部的配置。组织上的包$ 。阿帕奇。火花斯帕克孔夫。在组织上验证设置(SparkConf.scala

  • 每次使用cassandra connector在spark中运行scala程序时都会出现此错误 这是我的程序

  • 我们正在部署一个新的Flink流处理作业,它的状态(存储)需要使用历史数据进行初始化,并且在开始处理任何新的应用程序事件之前,该数据应该在状态存储中可用。我们不想显着修改Flink作业以同时加载历史数据。我们考虑编写另一个单独的Flink作业来处理历史数据,更新其状态存储并创建一个Savepoint并使用此Savepoint在主Flink作业中初始化状态。看起来状态处理器API仅适用于DataSe