FAILED:执行错误,从org.apache.hadoop.hive.ql.exec.mr.MapRedTask返回代码1。没有这样的文件或目录

问题描述:

在Hive上运行简单的SELECT COUNT(*) FROM Table获取以下例外。FAILED:执行错误,从org.apache.hadoop.hive.ql.exec.mr.MapRedTask返回代码1。没有这样的文件或目录

作业提交失败,异常 “org.apache.hadoop.io.nativeio.NativeIOException(没有这样的文件或目录 )”失败:执行错误,返回码1,从 org.apache.hadoop.hive .ql.exec.mr.MapRedTask。没有这样的文件或 目录

简单的SELECT * FROM Table没有发生问题。
请提出问题的可能性。 Hive执行引擎是MR。错误的

完整堆栈跟踪:

2017-07-18T07:18:52744 ERROR [主要]:exec.Task(:()) - 作业提交 失败,异常 “org.apache .hadoop.io.nativeio.NativeIOException(没有这样的文件或目录 )” ENOENT:在 org.apache.hadoop.io.nativeio.NativeIO $ POSIX.chmodImpl(本机方法) 没有这样的文件或目录在 组织。 apache.hadoop.io.nativeio.NativeIO $ POSIX.chmod(NativeIO.java:230) at org.apache.hadoop.fs.RawLocalFileSystem.setPermission(RawLocalFileSystem。 Java的:729) 在 org.apache.hadoop.fs.ChecksumFileSystem $ 1.适用(ChecksumFileSystem.java:505) 在 org.apache.hadoop.fs.ChecksumFileSystem $ FsOperation.run(ChecksumFileSystem.java:486) 在 org.apache.hadoop.fs.ChecksumFileSystem.setPermission(ChecksumFileSystem.java:502) at org.apache.hadoop.fs.FileSystem.mkdirs(FileSystem.java:602)at org.apache.hadoop.mapreduce。 JobResourceUploader.uploadFiles(JobResourceUploader.java:94) 在 org.apache.hadoop.mapreduce.JobSubmitter.copyAndConfigureFiles(JobSubmitter.java:95) 在 org.apache.hadoop.mapreduce.JobSubmitter.submitJobInternal(JobSubmitter.java: 190) at org.apache.hadoop.mapreduce.Job $ 10.run(Job.java:1290)at org.apache.hadoop.mapreduce.Job $ 10.run(Job.java:1287)at java.security.AccessController。 doPrivileged(Native Method) javax.security.auth.Subject.doAs(Subject.java:415)at org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1698) at org.apache.hadoop .mapreduce.Job.submit(Job.java:1287)在 org.apache.hadoop.mapred.JobClient $ 1.run(JobClient.java:575)在 org.apache.hadoop.mapred.JobClient $ 1.run(JobClient .java:570)at java.security.AccessController.doPrivileged(Native Method)at javax.security.auth.Subject.doAs(Subject.java:415)at org.apache.hadoop.security.UserGroupInfor mation.doAs(UserGroupInformation.java:1698) 在 org.apache.hadoop.mapred.JobClient.submitJobInternal(JobClient.java:570) 在org.apache.hadoop.mapred.JobClient.submitJob(JobClient.java:561 ) 在 org.apache.hadoop.hive.ql.exec.mr.ExecDriver.execute(ExecDriver.java:433) 在 org.apache.hadoop.hive.ql.exec.mr.MapRedTask.execute(MapRedTask .java:138) at org.apache.hadoop.hive.ql.exec.Task.executeTask(Task.java:197)at org.apache.hadoop.hive.ql.exec.TaskRunner.runSequential(TaskRunner。java:100) at org.apache.hadoop.hive.ql.Driver.launchTask(Driver.java:1858)at org.apache.hadoop.hive.ql.Driver.execute(Driver.java:1562)at org.apache.hadoop.hive.ql.Driver.runInternal(Driver.java:1313)at org.apache.hadoop.hive.ql.Driver.run(Driver.java:1084)at org.apache.hadoop。 hive.ql.Driver.run(Driver.java:1072)at org.apache.hadoop.hive.cli.CliDriver.processLocalCmd(CliDriver.java:232) at org.apache.hadoop.hive.cli.CliDriver .processCmd(CliDriver.java:183) 在 org.apache.hadoop.hive.cli.CliDriver.processLine(CliDriver.java:399) 在 org.apache.hadoop.hive.cli.CliDriver.executeDriver(clidriver中的.java:776) at org.apache.hadoop.hive.cli.CliDriver.run(CliDriver.java:714)at org.apache.hadoop.hive.cli.CliDriver.main(CliDriver.java:641)at sun.reflect。 NativeMethodAccessorImpl.invoke0(本地方法)在 sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) 在 sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) 在java.lang.reflect.Method中。调用(Method.java:606) org.apache.hadoop.util.RunJar.run(RunJar.java:221)at org.apache.hadoop.util.RunJar.main(RunJar.java:136)

2017-07-18T07:18:52,745错误[main]:ql.Driver(:()) - FAILE D: 执行错误,从 org.apache.hadoop.hive.ql.exec.mr.MapRedTask返回代码1。没有这样的文件或 目录

+0

什么是您的地图任务并减少分配给您的群集的任务内存? – TKHN

+0

Hive尝试执行聚合时执行MapReduce代码。简单的'select * from table'不执行任何MapReduce。所以,很显然你的集群是你的集群在做MapReduce的时候有配置问题。你能分享你的配置吗? –

尝试检查hadoop tmp目录的权限。此目录的路径例如在core-site.xml中进行配置。酒店名称是hadoop.tmp.dir。 我有一个类似的问题,与您所描述的问题相同,它是由用户造成的,在该用户下执行MR作业,但没有对该位置的写入权限。