【问题标题】:spark-submit job FAILS in Azure HDInsight in --deploy-mode cluster when --py-files are provided提供 --py-files 时 --deploy-mode 群集中的 Azure HDInsight 中的 spark-submit 作业失败
【发布时间】:2021-02-20 17:17:39
【问题描述】:

面临与Spark submit failing in yarn cluster mode when specifying --files in an Azure HDIinsight cluster相同的问题

但是在上面的帖子中看不到任何答案。

问题: Spark-submit 作业在以下情况下失败:--master yarn --deploy-mode cluster 和提供 --py-files ZIPfile.zip 时 在--master yarn --deploy-mode client 模式下可以正常工作。

Azure HDInsight 4.0 有什么问题吗?

【问题讨论】:

  • 要知道确切的原因,我会要求您分享您遇到的错误消息的完整堆栈跟踪?通过共享堆栈跟踪有助于我们提供相应的解决方案。

标签: azure pyspark azure-hdinsight spark-submit


【解决方案1】:

我提到了链接。这可能与无法创建目录的权限问题有关。引用/mnt/resource/hadoop/yarn/local/usercache/<username>/appcache/<applicationID> 的目录用于存储中间结果,然后根据它是分别写入路径还是存储在临时表中,它会转到 HDFS/内存。用户可能没有权限。一旦工作完成,它就会被冲洗掉。在特定工作节点的路径/mnt/resource/hadoop/yarn/local/usercache 中向用户提供正确的权限应该可以解决问题。

您提到它在 spark-shell 或作为客户端的部署模式下成功执行。那么让我来解释一下有什么区别

Spark 客户端

  1. spark 作业的驱动程序组件基本上在您提交作业的机器上运行,并且该机器中存在适当的 jars/文件。这意味着它拥有所有可用资源来执行工作。

Spark 集群

  1. 驱动程序在集群的一个工作节点上运行。工人由主人选择。

那么,关于您的问题,文件/jar 是分布在节点上还是放置在 Azure 存储中(WN 可以访问它)?如果不是,请将文件放在所有工作节点的相同目录(如头节点)中,然后执行。您可以利用 HDInsight 群集的script action 将文件放置在节点中。如果仍然失败,请粘贴完整的错误跟踪。

【讨论】:

    猜你喜欢
    • 2019-05-14
    • 1970-01-01
    • 1970-01-01
    • 2015-12-23
    • 1970-01-01
    • 2016-07-20
    • 1970-01-01
    • 2017-09-13
    • 1970-01-01
    相关资源
    最近更新 更多