提供--py-files时,--deploy-mode群集中Azure HDInsight中的spark-submit作业失败

问题描述

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

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

问题: 在以下情况下,提交火花作业失败:--master yarn --deploy-mode cluster并且在提供--py-files ZIPfile.zip时 在--master yarn --deploy-mode client模式下可以正常工作。

Azure HDInsight 4.0是否有问题?

解决方法

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

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

Spark Client

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

火花群集

  1. 驱动程序在群集的Worker节点之一上运行。工人是由船长选定的。

那么,谈到您的问题,文件/ jar是否分布在节点上?如果不是,请将文件放在所有工作程序节点的相同目录中(如头节点中),然后执行。您可以使用HDInsight群集的script action将文件放置在节点中。如果仍然失败,请粘贴完整的错误跟踪。

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...