在本地运行Hadoop,访问VM中的HDFS。找不到本地文件

时间:2014-02-04 06:07:30

标签: hadoop hdfs

为什么HDFS无法从本地计算机读取文件?此异常中的路径似乎表明它正在从我的笔记本电脑(而不是VM)读取,但它无法找到该文件。 ls表明它确实存在(参见底线)。请告诉我我可以提供的更多信息!

java.io.FileNotFoundException: File file:/Users/rose/bigdata/4/data/data.txt does not exist
at org.apache.hadoop.fs.RawLocalFileSystem.getFileStatus(RawLocalFileSystem.java:468)
at org.apache.hadoop.fs.FilterFileSystem.getFileStatus(FilterFileSystem.java:380)
at org.apache.hadoop.fs.ChecksumFileSystem$ChecksumFSInputChecker.<init>(ChecksumFileSystem.java:139)
at org.apache.hadoop.fs.ChecksumFileSystem.open(ChecksumFileSystem.java:335)
at org.apache.hadoop.fs.FileSystem.open(FileSystem.java:746)
at org.apache.hadoop.mapreduce.lib.input.LineRecordReader.initialize(LineRecordReader.java:83)
at org.apache.hadoop.mapred.MapTask$NewTrackingRecordReader.initialize(MapTask.java:478)
at org.apache.hadoop.mapred.MapTask.runNewMapper(MapTask.java:671)
at org.apache.hadoop.mapred.MapTask.run(MapTask.java:330)
at org.apache.hadoop.mapred.Child$4.run(Child.java:268)
at java.security.AccessController.doPrivileged(Native Method)
at javax.security.auth.Subject.doAs(Subject.java:396)
at org.apache.hadoop.secur
14/02/03 16:05:27 WARN mapred.JobClient: Error reading task outputConnection refused
14/02/03 16:05:27 WARN mapred.JobClient: Error reading task outputConnection refused
ç∂ç^C~/bigdata/4/data ls
c1.txt c2.txt data.txt vocab.txt

1 个答案:

答案 0 :(得分:4)

我相信除非您专门配置Hadoop以忽略设置为core-site.xml的HDFS(fs.defaultFS:property file:///),否则它将从HDFS读取。

将文件上传到HDFS(使用hdfs dfs -put <file> <destination-on-hdfs>到正在运行的HDFS节点),或更改您的Hadoop配置。您可能需要配置多个fs.defaultFS属性才能使其正常工作。

我希望有所帮助。 :)