Hadoop 映射任务写入配置单元临时文件夹时权限被拒绝

Hadoop 映射任务写入配置单元临时文件夹时权限被拒绝,hadoop,hive,cloudera,Hadoop,Hive,Cloudera,我在UbuntuPrecise12.04x64上使用ClouderaCDH4.1。我使用了Cloudera Manager免费版,在自己进行安装时遇到了一些颠簸,安装过程非常顺利。然而,我仍然无法让蜂巢工作。现在我可以向它发出配置单元QL命令来创建表,并在示例中加载本地数据原始表。但是,当我尝试将数据插入到另一个具有适当serde和存储的表中时,由于本地文件夹权限,它失败了 org.apache.hadoop.hive.ql.metadata.HiveException: java.io.IOE

我在UbuntuPrecise12.04x64上使用ClouderaCDH4.1。我使用了Cloudera Manager免费版,在自己进行安装时遇到了一些颠簸,安装过程非常顺利。然而,我仍然无法让蜂巢工作。现在我可以向它发出配置单元QL命令来创建表,并在示例中加载本地数据原始表。但是,当我尝试将数据插入到另一个具有适当serde和存储的表中时,由于本地文件夹权限,它失败了

org.apache.hadoop.hive.ql.metadata.HiveException: java.io.IOException: Mkdirs failed to create file:/home/yaboulnaga/tmp/hive-scratch/hive_2012-11-25_19-22-21_486_4469575874587213091/_task_tmp.-ext-10002
at org.apache.hadoop.hive.ql.io.HiveFileFormatUtils.getHiveRecordWriter(HiveFileFormatUtils.java:237)
at org.apache.hadoop.hive.ql.exec.FileSinkOperator.createBucketFiles(FileSinkOperator.java:477)
at org.apache.hadoop.hive.ql.exec.FileSinkOperator.closeOp(FileSinkOperator.java:709)
at org.apache.hadoop.hive.ql.exec.Operator.close(Operator.java:557)
at org.apache.hadoop.hive.ql.exec.Operator.close(Operator.java:566)
at org.apache.hadoop.hive.ql.exec.Operator.close(Operator.java:566)
at org.apache.hadoop.hive.ql.exec.Operator.close(Operator.java:566)
at org.apache.hadoop.hive.ql.exec.Operator.close(Operator.java:566)
at org.apache.hadoop.hive.ql.exec.ExecMapper.close(ExecMapper.java:193)
at org.apache.hadoop.mapred.MapRunner.run(MapRunner.java:57)
at org.apache.hadoop.mapred.MapTask.runOldMapper(MapTask.java:393)
at org.apache.hadoop.mapred.MapTask.run(MapTask.java:327)
at org.apache.hadoop.mapred.Child$4.run(Child.java:268)
at java.security.AccessController.doPrivileged(Native Method)
at javax.security.auth.Subject.doAs(Subject.java:396)
at org.apache.hadoop.security.UserGroupInformation.doAs(UserGroupInformation.java:1332)
at org.apache.hadoop.mapred.Child.main(Child.java:262)
我已将scratch文件夹移动到我的主目录中的一个文件夹中,如异常中所示,以便将其chmod到777。但是,子目录仍然属于hive:hive和mapred:hadoop,它们无法写入。我找不到任何可以解决这个问题的方法,我希望有人能告诉我怎么做才是正确的。在过去的几天里,我一直在寻找工作来让蜂巢工作,这是在我的本地机器上。。。当我开始按计划在EC2上运行它时,我甚至无法想象我的生活会是什么样子


谢谢大家

我也面临同样的问题,我正在使用cloudera udacity VM。 我可以创建一个表,从外部文件将数据加载到此表中,然后从tablename执行select*操作,就是这样。其他所有操作都失败了,甚至从tablename选择count1,从tablename选择col1等等。。。 使用“获取相同异常”时,mkdirs无法在创建文件---------

我注销了,然后以sudo-hive的身份重新登录,突然间,一切都像一个魔咒一样工作


希望这有帮助

我试图通过修改配置单元用户的umask来解决这个问题,以便它在默认情况下创建可写文件夹。。仍然没有幸运您作为什么用户运行配置单元?我使用sudo-E-uhdfs$HIVE_HOME/bin/HIVE,并将相关文件传送到hdfs。不过,我没有设置自己的环境,所以我不确定这是否有用。这不是合适的解决方案。您必须提供制作目录的权限。