HDFS:FileSystem.exists(path) 在现有资源上返回 false



我在本地运行的Hadoop HDFS(我的工作站是名称/数据节点)中访问文件时遇到困难。

在我的HDFS中,我有一个位于文件夹中的文件"/huser/data.txt"我可以hdfs dfs -ls /huser确认该文件存在。

我通过调用FileSystem.get(uri, config)来创建文件系统,uri 正在hdfs://localhost:9000 如果我调用 org.apache.hadoop.fs.FileSystem 的 exists 方法,我总是得到一个false作为返回值。

尝试了各种参数组合,但我想知道我做错了什么:

fs.exists(new Path("hdfs:/huser/data.txt")) 
fs.exists(new Path("hdfs://huser/data.txt")) 

两者都不起作用。

我还尝试使用MiniDFSCluster来提供一个最小的工作示例,但不幸的是它在那里工作。我似乎在实时HDFS和访问文件(Hadoop 2.6)时遇到了问题。

也许我有点晚了,但我在谷歌搜索时偶然发现了你的问题。对于遇到此问题的任何人,解决方案是不要在您的路径中包含 hdfs

fs.exists(new Path("/huser/data.txt)

这应该有效

相关内容

最新更新