我使用了hive-0.11.0、hadoop2.0.3和mysql 5.6作为元数据
我可以成功地运行selectfrom records这样的语句,它不会创建map/reduce任务。
但是当我尝试运行selectfrom records where year='1949'时,map/reduce任务总是会出错
hadoop给了我诊断:
应用程序应用程序\u 1382680612829 \u 0136失败1次,原因是appattempt的am容器\u 1382680612829 \u 0136 \u000001退出,退出代码为:-1000,原因是:java.io.filenotfoundexception:file/tmp/hadoop hadoop/nm local dir/filecache在org.apache.hadoop.fs.rawlocalfilesystem.getfilestatus(rawlocalfilesystem)中不存在。java:492)在org.apache.hadoop.fs.filesystem.primitivemkdir(文件系统)。java:996)在org.apache.hadoop.fs.delegatetofilesystem.mkdir(delegatetofilesystem。java:150)在org.apache.hadoop.fs.filterfs.mkdir(filterfs。java:187)在org.apache.hadoop.fs.filecontext$4.next(filecontext。java:730)在org.apache.hadoop.fs.filecontext$4.next(filecontext。java:726)在org.apache.hadoop.fs.filecontext$fslinkresolver.resolve(filecontext。java:2379)在org.apache.hadoop.fs.filecontext.mkdir(filecontext。java:726)在org.apache.hadoop.yarn.util.fsdownload.createdir(fsdownload。java:88)在org.apache.hadoop.yarn.util.fsdownload.call(fsdownload。java:274)在org.apache.hadoop.yarn.util.fsdownload.call(fsdownload。java:51) 在java.util.concurrent.futuretask$sync.innerrun(futuretask。java:303)在java.util.concurrent.futuretask.run(futuretask。java:138)在java.util.concurrent.executors$runnableadapter.call(executors。java:441)在java.util.concurrent.futuretask$sync.innerrun(futuretask。java:303)在java.util.concurrent.futuretask.run(futuretask。java:138)在java.util.concurrent.threadpoolexecutor$worker.runtask(threadpoolexecutor。java:886)在java.util.concurrent.threadpoolexecutor$worker.run(threadpoolexecutor。java:908)在java.lang.thread.run(线程。java:662)。尝试失败。。应用程序失败。
我该怎么办?谢谢
1条答案
按热度按时间sauutmhj1#
总之,作为他们推荐的创建父文件夹的解决方案,还有一个补丁应该固定在2.0.3[1]
tom white添加了一条评论-30/nov/12 21:36如果父目录还不存在,则通过创建父目录来修复问题。如果没有修复,测试将在10次中失败4次;修复后我没有看到失败。
这看起来是我在hadoop bug数据库中发现的最相似的问题
如果你想看的话,它也和[2]和[3]有关