Hadoop获取文件未找到异常

时间:2013-11-27 12:12:10

标签: java hadoop hdfs

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

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

感谢。

  

13/11/27 05:47:52 INFO mapred.LocalJobRunner:地图任务执行者完成。   13/11/27 05:47:52 WARN mapred.LocalJobRunner:job_local617545423_0001   java.lang.Exception:java.io.FileNotFoundException:/ tmp / Jetty_0_0_0_0_50090_secondary_ _y6aanv(是一个目录)           在org.apache.hadoop.mapred.LocalJobRunner $ Job.run(LocalJobRunner.java:354)   引起:java.io.FileNotFoundException:/ tmp / Jetty_0_0_0_0_50090_secondary _ _y6aanv(是一个目录)           at java.io.FileInputStream.open(Native Method)           在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)           at org.apache.hadoop.mapreduce.lib.input.KeyValueLineRecordReader.initialize(KeyValueLineRecordReader.java:65)           at 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)           at java.util.concurrent.Executors $ RunnableAdapter.call(Executors.java:471)           at java.util.concurrent.FutureTask $ Sync.innerRun(FutureTask.java:334)           at java.util.concurrent.FutureTask.run(FutureTask.java:166)           在java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)           at java.util.concurrent.ThreadPoolExecutor $ Worker.run(ThreadPoolExecutor.java:615)           在java.lang.Thread.run(Thread.java:724)   13/11/27 05:47:52 INFO mapred.JobClient:地图35%减少0%

1 个答案:

答案 0 :(得分:0)

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

以上tmp/Jetty_0_0_0_0_50090_secondary__y6aanv (Is a directory) at org.apache.hadoop.mapred.LocalJobRunner$Job.run(LocalJobRunner.java:354) Caused by: java.io.FileNotFoundException: /tmp/Jetty_0_0_0_0_50090_secondary__y6aanv

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

我更改了输入路径,现在正在运行。