我正在关注 Rasesh Mori 的 instructions to install Hadoop on a multinode cluster ,并且已经达到 jps 显示各个节点已启动并运行的程度。我可以将文件复制到hdfs中;我这样做了
$HADOOP_HOME/bin/hdfs dfs -put ~/in/in
然后尝试运行 wordcount 示例程序
$HADOOP_HOME/bin/hadoop jar $HADOOP_HOME/share/hadoop/mapreduce/hadoop-mapreduce-examples-2.6.0.jar wordcount/in/out
但我收到错误
16/15 00:59:53 信息 mapreduce.Job:任务 ID:attempt_1434414924941_0004_m_000000_0,状态:失败
重命名无法覆盖非空目标目录/home/hduser/hadoop-2.6.0/nm-local-dir/usercache/hduser/appcache/application_1434414924941_0004/filecache/10
java.io.IOException:重命名无法覆盖非空目标目录/home/hduser/hadoop-2.6.0/nm-local-dir/usercache/hduser/appcache/application_1434414924941_0004/filecache/10
在org.apache.hadoop.fs.AbstractFileSystem.renameInternal(AbstractFileSystem.java:716)
在 org.apache.hadoop.fs.FilterFs.renameInternal(FilterFs.java:228)
在 org.apache.hadoop.fs.AbstractFileSystem.rename(AbstractFileSystem.java:659)
在 org.apache.hadoop.fs.FileContext.rename(FileContext.java:909)
在 org.apache.hadoop.yarn.util.FSDownload.call(FSDownload.java:364)
在 org.apache.hadoop.yarn.util.FSDownload.call(FSDownload.java:60)
在 java.util.concurrent.FutureTask.run(FutureTask.java:262)
在 java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:471)
在 java.util.concurrent.FutureTask.run(FutureTask.java:262)
在java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
在 java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
在 java.lang.Thread.run(Thread.java:745)
我该如何解决这个问题?
最佳答案
这是 Hadoop 2.6.0 中的一个错误。它已被标记为已修复,但偶尔仍然会发生(请参阅: https://issues.apache.org/jira/browse/YARN-2624 )。
清除 appcache 目录并重新启动 YARN 守护进程很可能会解决此问题。
关于hadoop 提示尝试覆盖非空目标目录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30857413/