运行以下命令时,我从hdfs拒绝权限失败:
hive -e "insert overwrite directory '/user/hadoop/a/b/c/d/e/f' select * from table_name limit 10;"
错误消息是:
Permission denied: user=hadoop, access=WRITE, inode="/user/hadoop/a/b":hdfs:hive:drwxrwxr-x
但是当我运行
hadoop fs -ls /user/hadoop/a
时,我得到:drwxrwxrwx - hadoop supergroup 0 2014-04-08 00:56 /user/hadoop/a/b
看来我已经打开了对文件夹b的完全许可,为什么我仍然获得拒绝许可?
PS:我已经在配置单元配置文件中设置了
hive.insert.into.multilevel.dirs=true
。
最佳答案
打开一个新终端,然后尝试以下操作:
1.)将用户更改为root:
su
2.)将用户更改为hdfs:
su hdfs
3.)然后运行以下命令:
hadoop fs -chown -R hadoop /user/hadoop/a
现在您可以尝试运行的命令了。
希望能帮助到你...!!!
关于hadoop - 配置单元权限被拒绝,插入覆盖目录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26524891/