Java Hadoop获取文件未找到异常

Java Hadoop获取文件未找到异常,java,hadoop,hdfs,Java,Hadoop,Hdfs,我正在尝试用单节点hadoop集群运行一个示例程序。 当我运行一个示例程序(jar文件)时,我遇到了一个异常 我将core site.xml配置为localhost:9000。我将文本文件正确地放入HDFS中,可以通过执行hadoop dfs-ls/tmp命令查看 谢谢 13/11/27 05:47:52信息映射。LocalJobRunner:映射任务执行器完成。 13/11/27 05:47:52警告映射。本地JobRunner:job_local617545423_0001 java.lan

我正在尝试用单节点hadoop集群运行一个示例程序。 当我运行一个示例程序(jar文件)时,我遇到了一个异常

我将
core site.xml
配置为localhost:9000。我将文本文件正确地放入HDFS中,可以通过执行
hadoop dfs-ls/tmp
命令查看

谢谢

13/11/27 05:47:52信息映射。LocalJobRunner:映射任务执行器完成。 13/11/27 05:47:52警告映射。本地JobRunner:job_local617545423_0001 java.lang.Exception:java.io.FileNotFoundException:/tmp/Jetty\u 0\u 0\u 50090\u secondary\u\u y6aanv(是一个目录) 位于org.apache.hadoop.mapred.LocalJobRunner$Job.run(LocalJobRunner.java:354) 由以下原因引起:java.io.FileNotFoundException:/tmp/Jetty\u 0\u 0\u 0\u 50090\u secondary\u\u y6aanv(是一个目录) 在java.io.FileInputStream.open(本机方法) 位于java.io.FileInputStream。(FileInputStream.java:138) 位于org.apache.hadoop.fs.RawLocalFileSystem$TrackingFileInputStream。(RawLocalFileSystem.java:71) 位于org.apache.hadoop.fs.RawLocalFileSystem$LocalFSFileInputStream。(RawLocalFileSystem.java:107) 位于org.apache.hadoop.fs.RawLocalFileSystem.open(RawLocalFileSystem.java:182) 位于org.apache.hadoop.fs.ChecksumFileSystem$ChecksumFSInputChecker。(ChecksumFileSystem.java:126) 位于org.apache.hadoop.fs.ChecksumFileSystem.open(ChecksumFileSystem.java:283) 位于org.apache.hadoop.fs.FileSystem.open(FileSystem.java:427) 位于org.apache.hadoop.mapreduce.lib.input.LineRecordReader.initialize(LineRecordReader.java:75) 位于org.apache.hadoop.mapreduce.lib.input.KeyValueLineRecordReader.initialize(KeyValueLineRecordReader.java:65) 位于org.apache.hadoop.mapred.MapTask$NewTrackingRecordReader.initialize(MapTask.java:521) 位于org.apache.hadoop.mapred.MapTask.runNewMapper(MapTask.java:763) 位于org.apache.hadoop.mapred.MapTask.run(MapTask.java:364) 位于org.apache.hadoop.mapred.LocalJobRunner$Job$MapTaskRunnable.run(LocalJobRunner.java:223) 位于java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471) 位于java.util.concurrent.FutureTask$Sync.innerRun(FutureTask.java:334) 在java.util.concurrent.FutureTask.run(FutureTask.java:166)中 位于java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145) 位于java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615) 运行(Thread.java:724) 13/11/27 05:47:52信息映射。作业客户端:映射35%减少0%


即使在linux文件系统中,目录也不能位于作业的输入路径目录中

上面的
tmp/Jetty\u 0\u 0\u 0\u 50090\u secondary\u y6aanv(是一个目录)位于org.apache.hadoop.mapred.LocalJobRunner$Job.run(LocalJobRunner.java:354),原因是:java.io.FileNotFoundException:/tmp/Jetty\u 0\u 0\u 0\u 0\u 50090\u secondary\u y6aanv

Jetty_0_0_0_0_50090_secondary__y6aanv
是输入路径目录中的一个目录


我更改了输入路径,它现在正在工作。

您能给我看一下您的代码吗?这就是我正在尝试的代码。你能通过把你的文件放在HDFS的/or/user目录中来尝试同样的代码吗?谢谢,我现在明白了。看看答案。