gpt4 book ai didi

hadoop - Map 任务写入 Hive 临时文件夹时权限被拒绝

转载 作者:可可西里 更新时间:2023-11-01 16:18:45 25 4
gpt4 key购买 nike

我在 Ubuntu Precise 12.04 x64 机器上使用 Cloudera CDH 4.1。我使用 Cloudera Manager 免费版进行了顺利安装(在我自己安装时遇到了一些困难)。但是,我仍然无法让 Hive 工作。现在我可以向它发出 Hive 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 文件夹移动到我的主目录中的一个文件夹(如异常中所示),以便我可以将其更改为 777。但是,子目录仍归 hive:hive 和 mapred:hadoop 无法写入他们。我没有找到任何解决方法,我希望有人会告诉我如何正确地做。在过去的几天里,我一直在寻找让 Hive 正常工作的变通方法,而那是在我的本地机器上……我什至无法想象当我开始按计划在 EC2 上运行它时我的生活会怎样。

谢谢大家!

最佳答案

我遇到了同样的问题,我正在使用 cloudera udacity VM。我可以创建一个表,从外部文件将数据加载到该表中,然后执行 select * from tablename,仅此而已。其他一切都失败了,甚至从表名中选择计数(1),从表名中选择 col1 等。 .使用 get same exception,mkdirs 未能在 ------------------ 处创建文件

我注销了,然后以 sudo hive 的身份重新登录,突然间一切都像魅力一样。

希望对您有所帮助!

关于hadoop - Map 任务写入 Hive 临时文件夹时权限被拒绝,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13557345/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com