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

失败:执行错误,从org.apache.hadoop.hive.ql.exec.mr.MapRedTask返回代码1。没有这样的文件或目录,hive,Hive,运行simple时在配置单元中获取以下异常,请从表中选择COUNT(*) 作业提交失败,出现异常 'org.apache.hadoop.io.nativeio.NativeIOException(没有这样的文件或 目录)'失败:执行错误,从返回代码1 org.apache.hadoop.hive.ql.exec.mr.MapRedTask。没有此类文件或文件 目录 简单SELECT*FROM Table上没有问题。 请指出问题所在。配置单元执行引擎是错误的完整堆栈跟踪: 2017-07-18T0

运行simple
时在配置单元中获取以下异常,请从表中选择COUNT(*)

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

简单
SELECT*FROM Table
上没有问题。
请指出问题所在。配置单元执行引擎是错误的完整堆栈跟踪:

2017-07-18T07:18:52744错误[main]:执行任务(:())-作业提交 异常失败 'org.apache.hadoop.io.nativeio.NativeIOException(没有这样的文件或 目录)'enoint:此时没有此类文件或目录 org.apache.hadoop.io.nativeio.nativeio$POSIX.chmodImpl(本机方法) 在 org.apache.hadoop.io.nativeio.nativeio$POSIX.chmod(nativeio.java:230) 在 org.apache.hadoop.fs.RawLocalFileSystem.setPermission(RawLocalFileSystem.java:729) 在 org.apache.hadoop.fs.ChecksumFileSystem$1.apply(ChecksumFileSystem.java:505) 在 org.apache.hadoop.fs.ChecksumFileSystem$FsOperation.run(ChecksumFileSystem.java:486) 在 org.apache.hadoop.fs.ChecksumFileSystem.setPermission(ChecksumFileSystem.java:502) 位于org.apache.hadoop.fs.FileSystem.mkdirs(FileSystem.java:602) 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) 位于org.apache.hadoop.mapreduce.Job$10.run(Job.java:1290) org.apache.hadoop.mapreduce.Job$10.run(Job.java:1287)位于 java.security.AccessController.doPrivileged(本机方法)位于 javax.security.auth.Subject.doAs(Subject.java:415)位于 org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1698) 位于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)位于 java.security.AccessController.doPrivileged(本机方法)位于 javax.security.auth.Subject.doAs(Subject.java:415)位于 org.apache.hadoop.security.UserGroupInformation.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) 位于org.apache.hadoop.hive.ql.exec.Task.executeTask(Task.java:197) org.apache.hadoop.hive.ql.exec.TaskRunner.runSequential(TaskRunner.java:100) 位于org.apache.hadoop.hive.ql.Driver.launchTask(Driver.java:1858) org.apache.hadoop.hive.ql.Driver.execute(Driver.java:1562)位于 org.apache.hadoop.hive.ql.Driver.runInternal(Driver.java:1313)位于 org.apache.hadoop.hive.ql.Driver.run(Driver.java:1084)位于 org.apache.hadoop.hive.ql.Driver.run(Driver.java:1072)位于 org.apache.hadoop.hive.cli.CliDriver.processLocalCmd(CliDriver.java:232) 在 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) 位于org.apache.hadoop.hive.cli.CliDriver.run(CliDriver.java:714) org.apache.hadoop.hive.cli.CliDriver.main(CliDriver.java:641)位于 sun.reflect.NativeMethodAccessorImpl.invoke0(本机方法)位于 invoke(NativeMethodAccessorImpl.java:57) 在 sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) 位于java.lang.reflect.Method.invoke(Method.java:606) org.apache.hadoop.util.RunJar.run(RunJar.java:221)位于 org.apache.hadoop.util.RunJar.main(RunJar.java:136)

2017-07-18T07:18:52745错误[main]:ql.驱动程序(:())-失败: 执行错误,从返回代码1 org.apache.hadoop.hive.ql.exec.mr.MapRedTask。没有此类文件或文件 目录


尝试检查hadoop tmp目录的权限。例如,在
core site.xml
中配置了此目录的路径。属性名是hadoop.tmp.dir

我遇到了一个与您描述的问题类似的问题,这是由于执行MR作业的用户没有对该位置的写入权限造成的。

您的映射任务和减少分配给群集的任务内存是什么?尝试进行聚合时,Hive会执行MapReduce代码。简单的“从表中选择*”不执行任何MapReduce。所以,很明显,您的集群在执行MapReduce时存在配置问题。你能分享你的配置吗?