配置单元用户插入,但hdfs权限被拒绝

pkln4tw6  于 2021-06-26  发布在  Hive
关注(0)|答案(1)|浏览(416)

我的配置单元的管理用户名为appuser。我已经创建了一个名为wuchang\u test的数据库和一个名为abtestmsg的表。是的,我描述了数据库,这个数据库的所有者名称是appuser,所有者类型是user,如下所示:

0: jdbc:hive2://hive.data.ms.netease.com:1000> describe database wuchang_test;
OK
db_name|comment|location|owner_name|owner_type|parameters
wuchang_test||hdfs://datahdfsmaster/hive/warehouse/wuchang_test.db|appuser|USER|

我已经为这个角色定义了一个名为ep\u dm的角色和一个名为bjchenweiyao的用户;另外,我已经将此表的select、delete、update、insert授予角色ep\ U dm:

database|table|partition|column|principal_name|principal_type|privilege|grant_option|grant_time|grantor

wuchang_test|abtestmsg|||appuser|USER|DELETE|true|1498113549000|appuser
wuchang_test|abtestmsg|||appuser|USER|INSERT|true|1498113549000|appuser
wuchang_test|abtestmsg|||appuser|USER|SELECT|true|1498113549000|appuser
wuchang_test|abtestmsg|||appuser|USER|UPDATE|true|1498113549000|appuser
wuchang_test|abtestmsg|||ep_dm|ROLE|DELETE|false|1498113687000|appuser
wuchang_test|abtestmsg|||ep_dm|ROLE|INSERT|false|1498113696000|appuser
wuchang_test|abtestmsg|||ep_dm|ROLE|SELECT|false|1498113704000|appuser
wuchang_test|abtestmsg|||ep_dm|ROLE|UPDATE|false|1498113712000|appuser

用户bjchenweiyao试图将一些数据插入表wuchang\u test.abtestmsg,但权限被拒绝:

Error: Error while compiling statement: FAILED: RuntimeException Cannot create staging directory 'hdfs://datahdfsmaster/hive/warehouse/wuchang_test.db/abtestmsg/dt=2017-05-01/.hive-staging_hive_2017-06-22_14-55-58_843_8091260031059700585-336': Permission denied: user=bjchenweiyao, access=WRITE, inode="/hive/warehouse/wuchang_test.db/abtestmsg/dt=2017-05-01/.hive-staging_hive_2017-06-22_14-55-58_843_8091260031059700585-336":appuser:supergroup:drwxr-xr-x

为了让用户bjchenweiyao拥有表wuchang\u test.abtestmsg的写入权限,我将数据库所有者从用户appuser改为角色ep\u dm:

alter database wuchang_test set owner ROLE ep_dm;

或者我直接将数据库所有者从用户appuser更改为用户bjchenweiyao:

alter database wuchang_test set owner USER bjchenweiyao;

这两种方法都尝试过,但权限问题仍然存在。
数据库hdfs目录权限为:

[appuser@hz-105 ~]$ hadoop fs -ls /hive/warehouse/wuchang_test.db
Found 1 items
drwxr-xr-x   - appuser supergroup          0 2017-06-22 14:39 /hive/warehouse/wuchang_test.db/abtestmsg

我知道,用户bjchenweiyao没有权限写入hdfs目录/hive/warehouse/wuchang\u test.db/abtestmsg,其权限为drwxr-xr-x。
但是我该怎么做才能让bjchenweiyao得到书面许可呢?

fae0ux8s

fae0ux8s1#

我不确定是否是同一个问题,但我有相同的错误信息
失败:runtimeexception无法创建临时目录'hdfs://localhost:54310/user/hive/warehouse/test\u table/.hive-staging\u hive\u 2018-09-23\u 12-51-51\u 755\u 5072249936804482657-1':权限被拒绝:user=hadoopusr,access=write,inode=“/user/hive/warehouse/test\u table”:hduser:supergroup:drwxrwxr-x
它声明它没有hdfs目录的写权限来创建临时目录 /user/hive/warehouse/test_table 所以我用: hdfs dfs -chmod 777 /user/hive/warehouse/test_table 所以试试看 hdfs dfs -chmod 777 /hive/warehouse/wuchang_test.db/abtestmsg

相关问题