在hive shell中创建表后,执行insert into语句报如下错误:
org.apache.hadoop.security.AccessControlException: Permission denied: user=root, access=WRITE, inode="/user":hdfs:supergroup:drwxr-xr-x
at org.apache.hadoop.hdfs.server.namenode.DefaultAuthorizationProvider.checkFsPermission(DefaultAuthorizationProvider.java:279)
at org.apache.hadoop.hdfs.server.namenode.DefaultAuthorizationProvider.check(DefaultAuthorizationProvider.java:260)
at org.apache.hadoop.hdfs.server.namenode.DefaultAuthorizationProvider.check(DefaultAuthorizationProvider.java:240)
at
根据提示信息可知是执行权限问题,解决方法是:
# su - hdfs
$ hdfs dfs -mkdir /user/root
$ hdfs dfs -chown root:hdfs /user/root
$ exit
本文解决在Hive shell中创建表后,执行insert into语句时遇到的权限错误问题。通过使用hdfs用户身份,创建并修改目录权限,成功解决了执行用户在HDFS上写入数据的权限问题。
6217

被折叠的 条评论
为什么被折叠?



