Java Hadoop:还原阶段的开始:FileNotFoundException输出/file.out.index不存在

Java Hadoop:还原阶段的开始:FileNotFoundException输出/file.out.index不存在,java,hadoop,Java,Hadoop,我正在尝试让Hadoop 3.1.0在Windows 10系统上运行 我收到的例外情况是: 2019-11-19 14:49:13,310 INFO mapreduce.Job: map 100% reduce 0% 2019-11-19 14:49:13,325 INFO mapred.LocalJobRunner: reduce task executor complete. 2019-11-19 14:49:13,435 WARN mapred.LocalJobRunner: job_l

我正在尝试让Hadoop 3.1.0在Windows 10系统上运行

我收到的例外情况是:

2019-11-19 14:49:13,310 INFO mapreduce.Job:  map 100% reduce 0%
2019-11-19 14:49:13,325 INFO mapred.LocalJobRunner: reduce task executor complete.
2019-11-19 14:49:13,435 WARN mapred.LocalJobRunner: job_local1214244919_0001
java.lang.Exception: org.apache.hadoop.mapreduce.task.reduce.Shuffle$ShuffleError: error in shuffle in localfetcher#1
        at org.apache.hadoop.mapred.LocalJobRunner$Job.runTasks(LocalJobRunner.java:492)
        at org.apache.hadoop.mapred.LocalJobRunner$Job.run(LocalJobRunner.java:559)
Caused by: org.apache.hadoop.mapreduce.task.reduce.Shuffle$ShuffleError: error in shuffle in localfetcher#1
        at org.apache.hadoop.mapreduce.task.reduce.Shuffle.run(Shuffle.java:134)
        at org.apache.hadoop.mapred.ReduceTask.run(ReduceTask.java:377)
        at org.apache.hadoop.mapred.LocalJobRunner$Job$ReduceTaskRunnable.run(LocalJobRunner.java:347)
        at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
        at java.util.concurrent.FutureTask.run(FutureTask.java:266)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
        at java.lang.Thread.run(Thread.java:748)
**Caused by: java.io.FileNotFoundException: File C:/tmp/hadoop-king%20lui/mapred/local/localRunner/king%20lui/jobcache/job_local1214244919_0001/attempt_local1214244919_0001_m_000001_0/output/file.out.index does not exist**
        at org.apache.hadoop.fs.RawLocalFileSystem.deprecatedGetFileStatus(RawLocalFileSystem.java:641)
        at org.apache.hadoop.fs.RawLocalFileSystem.getFileLinkStatusInternal(RawLocalFileSystem.java:930)
        at org.apache.hadoop.fs.RawLocalFileSystem.getFileStatus(RawLocalFileSystem.java:631)
        at org.apache.hadoop.fs.RawLocalFileSystem.open(RawLocalFileSystem.java:211)
        at org.apache.hadoop.fs.FileSystem.open(FileSystem.java:950)
        at org.apache.hadoop.io.SecureIOUtils.openFSDataInputStream(SecureIOUtils.java:152)
        at org.apache.hadoop.mapred.SpillRecord.<init>(SpillRecord.java:71)
        at org.apache.hadoop.mapred.SpillRecord.<init>(SpillRecord.java:62)
        at org.apache.hadoop.mapred.SpillRecord.<init>(SpillRecord.java:57)
        at org.apache.hadoop.mapreduce.task.reduce.LocalFetcher.copyMapOutput(LocalFetcher.java:125)
        at org.apache.hadoop.mapreduce.task.reduce.LocalFetcher.doCopy(LocalFetcher.java:103)
        at org.apache.hadoop.mapreduce.task.reduce.LocalFetcher.run(LocalFetcher.java:86)
**2019-11-19 14:49:14,357 INFO mapreduce.Job: Job job_local1214244919_0001 failed with state FAILED due to: NA**
2019-11-19 14:49:14,372 INFO mapreduce.Job: Counters: 18
        File System Counters
                FILE: Number of bytes read=840
                FILE: Number of bytes written=991668
                FILE: Number of read operations=0
                FILE: Number of large read operations=0
                FILE: Number of write operations=0
        Map-Reduce Framework
                Map input records=2
                Map output records=8
                Map output bytes=82
                Map output materialized bytes=85
                Input split bytes=204
                Combine input records=8
                Combine output records=6
                Spilled Records=6
                Failed Shuffles=0
                Merged Map outputs=0
                GC time elapsed (ms)=0
                Total committed heap usage (bytes)=577241088
        File Input Format Counters
                Bytes Read=48
2019-11-19 14:49:13310信息地图还原作业:地图100%还原0%
2019-11-19 14:49:13325信息映射。本地JobRunner:减少任务执行器完成。
2019-11-19 14:49:13435警告映射。本地JobRunner:job_local1214244919_0001
java.lang.Exception:org.apache.hadoop.mapreduce.task.reduce.Shuffle$ShuffleError:localfetcher#1中的Shuffle错误
位于org.apache.hadoop.mapred.LocalJobRunner$Job.runTasks(LocalJobRunner.java:492)
在org.apache.hadoop.mapred.LocalJobRunner$Job.run(LocalJobRunner.java:559)上
原因:org.apache.hadoop.mapreduce.task.reduce.Shuffle$ShuffleError:localfetcher中的Shuffle错误#1
位于org.apache.hadoop.mapreduce.task.reduce.Shuffle.run(Shuffle.java:134)
位于org.apache.hadoop.mapred.ReduceTask.run(ReduceTask.java:377)
位于org.apache.hadoop.mapred.LocalJobRunner$Job$ReduceTaskRunnable.run(LocalJobRunner.java:347)
位于java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
在java.util.concurrent.FutureTask.run(FutureTask.java:266)处
位于java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
位于java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
运行(Thread.java:748)
**原因:java.io.FileNotFoundException:文件C:/tmp/hadoop king%20lui/mapred/local/localRunner/king%20lui/jobcache/job_local1214244919_0001/trunt_local1214244919_0001_m_000001_0/output/File.out.index不存在**
位于org.apache.hadoop.fs.RawLocalFileSystem.deprecatedGetFileStatus(RawLocalFileSystem.java:641)
位于org.apache.hadoop.fs.RawLocalFileSystem.getFileLinkStatusInternal(RawLocalFileSystem.java:930)
位于org.apache.hadoop.fs.RawLocalFileSystem.getFileStatus(RawLocalFileSystem.java:631)
位于org.apache.hadoop.fs.RawLocalFileSystem.open(RawLocalFileSystem.java:211)
位于org.apache.hadoop.fs.FileSystem.open(FileSystem.java:950)
位于org.apache.hadoop.io.SecureIOUtils.openFSDataInputStream(SecureIOUtils.java:152)
位于org.apache.hadoop.mapred.SpillRecord.(SpillRecord.java:71)
位于org.apache.hadoop.mapred.SpillRecord.(SpillRecord.java:62)
位于org.apache.hadoop.mapred.SpillRecord.(SpillRecord.java:57)
位于org.apache.hadoop.mapreduce.task.reduce.LocalFetcher.copymappoutput(LocalFetcher.java:125)
位于org.apache.hadoop.mapreduce.task.reduce.LocalFetcher.doCopy(LocalFetcher.java:103)
位于org.apache.hadoop.mapreduce.task.reduce.LocalFetcher.run(LocalFetcher.java:86)
**2019-11-19 14:49:14357信息mapreduce.作业:作业\u local1214244919\u 0001失败,状态失败,原因是:NA**
2019-11-19 14:49:14372信息地图还原。作业:计数器:18
文件系统计数器
文件:读取的字节数=840
文件:写入的字节数=991668
文件:读取操作数=0
文件:大型读取操作数=0
文件:写入操作数=0
Map-Reduce框架
映射输入记录=2
地图输出记录=8
映射输出字节=82
映射输出物化字节=85
输入拆分字节=204
合并输入记录=8
合并输出记录=6
溢出记录=6
失败的洗牌=0
合并地图输出=0
GC运行时间(毫秒)=0
提交的堆使用总量(字节)=577241088
文件输入格式计数器
读取字节数=48

(我强调了我认为重要的部分**)

我正在运行Hadoop的应用程序

  • 缺少文件的文件夹已存在
  • 我删除了整个tmp文件夹->没有帮助
  • 我试过了,但没有这样的条目。添加一个也没有帮助

您需要以名称中没有空格的用户身份运行Hadoop和您的代码(而不是
king lui

测试此场景的一种方法是

set HADOOP_USER_NAME=myuser 
yarn jar your-app.jar

然后可能会错误地说/user/myuser不存在,但您可以创建该目录

您需要以名称中没有空格的用户身份运行Hadoop和您的代码(而不是
king lui

测试此场景的一种方法是

set HADOOP_USER_NAME=myuser 
yarn jar your-app.jar

然后可能会错误地说/user/myuser不存在,但您可以创建该目录

将用户名改为不使用空格的用户名


我在设置HADOOP\u USER\u NAME=myuser之前尝试过这个方法,所以我不知道这是否有帮助。

将用户名改为不带空格的用户名有效


我在设置HADOOP\u USER\u NAME=myuser之前尝试过这个方法,所以我不知道这是否有帮助。

我不喜欢你的文件路径中有一些奇怪的字符,而且Windows中也不正式支持HADOOP。虽然您应该能够以某种方式使其工作,但运行Docker容器/VM要好得多。我不喜欢您的文件路径中有一些奇怪的字符,而且Windows中也不正式支持Hadoop。虽然您应该能够以某种方式使其工作,但运行Docker容器/VM要好得多。