失败:HiveAuthzPluginException获取hdfs权限时出错

时间:2019-05-22 13:18:24

标签: hadoop hive hdfs

我试图通过查询将数据从hdfs目录中的文件插入到配置单元表中:

$ jdbc:hive2://localhost:10000> LOAD DATA INPATH '/user/xyz/stdfiles/testtbl.txt' OVERWRITE INTO TABLE testdb.testtbl;

但是查询失败,导致:

  

错误:编译语句时出错:失败:   HiveAuthzPluginException获取权限的错误   hdfs:// localhost:9000 / user / xyz / stdfiles / testtbl.txt:空   (状态= 42000,代码= 40000)

我尝试通过以下命令给出权限,该命令没有错误:

$ hdfs dfs -chown -R stdfiles /user/xyz/stdfiles
$ hdfs dfs -chmod -R 777 /user/xyz/stdfiles/testtbl.txt

已检查:

$ hdfs dfs -ls /user/xyz/stdfiles
19/05/22 09:15:13 WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicable
Found 1 items
-rwxrwxrwx 1 stdfiles supergroup 6 2019-05-22 08:45 /user/xyz/stdfiles/testtbl.txt

通过所需的输出成功插入数据

1 个答案:

答案 0 :(得分:0)

在hadoop配置文件core-site.xml中添加以下属性对我有用:)

<property>
     <name>hadoop.proxyuser.niazullah.hosts</name>
     <value>*</value>
</property>

<property>
     <name>hadoop.proxyuser.niazullah.groups</name>
     <value>*</value>
</property>

还要检查用户访问hdfs:

$ hdfs dfs -ls /user

输出:

drwxr-xr-x   - main supergroup          0 2019-05-22 13:22 /user/test

“ main”是用户更改的地方,而蜂巢用户则是