Apache spark 在本地Hadoop纱线设置上spark submit失败,Stdout路径必须为绝对错误

Apache spark 在本地Hadoop纱线设置上spark submit失败,Stdout路径必须为绝对错误,apache-spark,hadoop,yarn,spark-submit,Apache Spark,Hadoop,Yarn,Spark Submit,我已经在我的Windows机器上安装了最新的Hadoop和Spark版本。 我试图启动提供的一个示例,但失败了,我不知道诊断意味着什么。这似乎与stdout有关,但我无法找出根本原因 我启动以下命令: spark提交——master Thread——class org.apache.spark.examples.JavaSparkPi C:\spark-3.0.1-bin-hadoop3.2\examples\jars\spark-examples_2.12-3.0.1.jar 100 我有一

我已经在我的Windows机器上安装了最新的Hadoop和Spark版本。 我试图启动提供的一个示例,但失败了,我不知道诊断意味着什么。这似乎与stdout有关,但我无法找出根本原因

我启动以下命令:

spark提交——master Thread——class org.apache.spark.examples.JavaSparkPi C:\spark-3.0.1-bin-hadoop3.2\examples\jars\spark-examples_2.12-3.0.1.jar 100
我有一个例外:

21/01/25 10:53:53警告MetricSystem:停止未运行的MetricSystem 21/01/25 10:53:53信息OutputCommitCoordinator$OutputCommitCoordinator返回点:OutputCommitCoordinator已停止! 21/01/25 10:53:53信息SparkContext:已成功停止SparkContext 线程“main”org.apache.spark.sparkeException中出现异常:应用程序应用程序_1611568137841_0002失败2次,原因是appattempt的AM容器_1611568137841_0002_000002已退出,退出代码为:-1 此尝试失败。诊断: [2021-01-25 10:53:53.381]标准路径必须是绝对路径

有关更详细的输出,请查看应用程序跟踪页面:http://xxxx-PC:8088/cluster/app/application_1611568137841_0002 然后单击指向每次尝试日志的链接。 . 应用程序失败。 位于org.apache.spark.scheduler.cluster.YarnClientSchedulerBackend.waitForApplication(YarnClientSchedulerBack 完(a:95) 位于org.apache.spark.scheduler.cluster.YarnClientSchedulerBackend.start(YarnClientSchedulerBackend.scala:62) 位于org.apache.spark.scheduler.TaskSchedulerImpl.start(TaskSchedulerImpl.scala:201) 位于org.apache.spark.SparkContext(SparkContext.scala:555) 位于org.apache.spark.SparkContext$.getOrCreate(SparkContext.scala:2574) 位于org.apache.spark.sql.SparkSession$Builder.$anonfun$getOrCreate$2(SparkSession.scala:934) 位于scala.Option.getOrElse(Option.scala:189) 位于org.apache.spark.sql.SparkSession$Builder.getOrCreate(SparkSession.scala:928) 位于org.apache.spark.examples.JavaSparkPi.main(JavaSparkPi.java:37) 在sun.reflect.NativeMethodAccessorImpl.invoke0(本机方法)处 位于sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) 在sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)中 位于java.lang.reflect.Method.invoke(Method.java:498) 位于org.apache.spark.deploy.JavaMainApplication.start(SparkApplication.scala:52) 位于org.apache.spark.deploy.SparkSubmit.org$apache$spark$deploy$SparkSubmit$$runMain(SparkSubmit.scala:928) 位于org.apache.spark.deploy.SparkSubmit.doRunMain$1(SparkSubmit.scala:180) 位于org.apache.spark.deploy.SparkSubmit.submit(SparkSubmit.scala:203) 位于org.apache.spark.deploy.SparkSubmit.doSubmit(SparkSubmit.scala:90) 位于org.apache.spark.deploy.SparkSubmit$$anon$2.doSubmit(SparkSubmit.scala:1007) 位于org.apache.spark.deploy.SparkSubmit$.main(SparkSubmit.scala:1016) 位于org.apache.spark.deploy.SparkSubmit.main(SparkSubmit.scala) 21/01/25 10:53:53信息关闭挂钩管理器:已调用关闭挂钩 21/01/25 10:53:53信息关机挂钩管理器:删除目录C:\Users\xxx\AppData\Local\Temp\spark-b28ecb32-5e3f-4d6a-973a-c03a7aae0da9 21/01/25 10:53:53信息关闭HookManager:删除目录C:\Users/xxx\AppData\Local\Temp\spark-3665ba77-d2aa-424a-9f75-e772bb5b9104

至于诊断:

诊断:
应用程序应用程序_1611562870926_0004失败2次,原因是appattempt_1611562870926_0004_000002的AM容器已退出,退出代码为:-1 此尝试失败。诊断:[2021-01-25 10:29:19.734]标准输出路径必须是绝对路径 有关更详细的输出,请查看应用程序跟踪页面:http://**-PC:8088/cluster/app/application_1611562870926_0004,然后单击指向每次尝试日志的链接。 . 应用程序失败


谢谢大家!

所以我还不确定根本原因,这可能是因为我在windows下运行,而一些默认属性对我来说是错误的。 当我在warn-site.xml上添加以下两个属性时,它工作得很好:


   <property>
    <name>yarn.nodemanager.log-dirs</name>
    <value>/tmp</value>
   </property>
   <property>
    <name>yarn.log.dir</name>
    <value>/tmp</value>
   </property>

纱线.nodemanager.log-dirs
/tmp
warn.log.dir
/tmp
希望它能帮助将来的人