Apache spark Spark结构流作业在群集模式下失败

Apache spark Spark结构流作业在群集模式下失败,apache-spark,hadoop,apache-spark-sql,Apache Spark,Hadoop,Apache Spark Sql,我正在我的应用程序中使用spark-sql-2.4.1 v 在将数据写入hdfs文件夹时,我在spark流媒体应用程序中遇到了这个问题 错误: 在将数据写入HDFS文件夹时,我在spark流媒体应用程序中遇到了这个问题。当我在纱线簇模式下运行时,我会遇到这个问题,即 --master yarn \ --deploy-mode cluster \ 但当我在“纱线客户端”模式下运行时,它运行良好,即 --master yarn \ --deploy-mode cli

我正在我的应用程序中使用spark-sql-2.4.1 v

在将数据写入hdfs文件夹时,我在spark流媒体应用程序中遇到了这个问题

错误:

在将数据写入HDFS文件夹时,我在spark流媒体应用程序中遇到了这个问题。当我在纱线簇模式下运行时,我会遇到这个问题,即

    --master yarn \
    --deploy-mode cluster \
但当我在“纱线客户端”模式下运行时,它运行良好,即

    --master yarn \
    --deploy-mode client \
这个问题的根本原因是什么

这里的基本问题是,为什么它试图在/tmp/hadoop admin/而不是相应的用户目录中编写。hdfs://qa2/user/xyz/?

我遇到了以下问题:


如何在spark sql应用程序中实现它?

工作部署模式客户端和失败部署模式集群案例之间的唯一区别是驱动程序的位置。在客户端部署模式下,驱动程序在执行spark submit的机器上运行,该机器通常是配置为使用纱线簇的边缘节点,但它不是纱线簇的一部分,而在群集部署模式下,驱动程序作为纱线簇的一部分运行,纱线簇是纱线控制的节点之一

看起来您的边缘节点配置错误


如果一个常规的Spark SQL专用Spark应用程序也会失败,我也不会感到惊讶。听说它与流式查询Spark Structured streaming无关,对于任何Spark应用程序都会失败,我一点也不感到惊讶。

首先,您不应该使用HDFS/S3作为临时目录,它的速度应该与SSD一样快,SSD是数据块的位置以及其他临时内容。其次,这似乎比Spark的HDFS更相关。这里没有帮助。/tmp/hadoop admin/nm local dir/usercache/myproj/appcache/application_157569597805_47873是部署到Thread的Spark应用程序的路径。这是一个纱线的东西不太火花的,我不能帮助它。很抱歉
    --master yarn \
    --deploy-mode client \