【发布时间】:2018-02-19 17:10:42
【问题描述】:
我正在尝试通过 spark 读取只有我(和 root)可以读取/写入的文件夹中的文件,首先我启动 shell:
spark-shell --master yarn-client
然后我:
val base = sc.textFile("file///mount/bases/FOLDER_LOCKED/folder/folder/file.txt")
base.take(1)
并得到以下错误:
2018-02-19 13:40:20,835 WARN scheduler.TaskSetManager:
Lost task 0.0 in stage 0.0 (TID 0, mydomain, executor 1):
java.io.FileNotFoundException: File file: /mount/bases/FOLDER_LOCKED/folder/folder/file.txt does not exist
at org.apache.hadoop.fs.RawLocalFileSystem.deprecatedGetFileStatus(RawLocalFileSystem.java:611)
at org.apache.hadoop.fs.RawLocalFileSystem.getFileLinkStatusInternal(RawLocalFileSystem.java:824)
at org.apache.hadoop.fs.RawLocalFileSystem.getFileStatus(RawLocalFileSystem.java:601)
...
我怀疑由于使用用户 hadoop 启动了 yarn/hadoop,它无法在此文件夹中进一步获取文件。我该如何解决这个问题?
OBS:此文件夹不能对其他用户打开,因为它有私人数据。
EDIT1:这个 /mount/bases 是一个网络存储,使用 cifs 连接。
EDIT2:hdfs 和 yarn 由用户 hadoop 启动
【问题讨论】:
标签: hadoop apache-spark