Apache spark:对上传到作业登台目录的文件的权限被拒绝

时间:2015-07-31 14:09:20

标签: apache-spark hdfs yarn

我写了一个使用一些配置文件的apache spark作业。当我在本地运行这个工作时,它工作正常。但是,当我将此作业提交给YARN群集时,它会失败并显示java.io.FileNotFoundException: (Permission denied)

我使用以下命令提交作业:

bin/spark-submit --master yarn --deploy-mode cluster --num-executors 1 --files /home/user/app.conf --class org.myorg.PropTest assembly.jar

它将assembly.jar和app.conf文件上传到HDFS上我的主目录中.sparkStaging目录的子目录。

我正在尝试访问以下行中的app.conf文件:

ConfigFactory.parseFile(new File("app.conf"))

当我上传名称不是app.conf的文件时,它会因预期的FileNotFoundException而失败。

但是当我上传app.conf时,它也会因FileNotFoundException而失败,但会显示拒绝./app.conf权限的消息。因此,它似乎可以访问此文件,但无法获得所需的权限。

有什么不对?

1 个答案:

答案 0 :(得分:0)

好的,我已经弄明白了。上传的文件被添加到驱动程序的类路径中,因此可以作为资源访问:

val config = ConfigFactory.parseResources("app.conf")