hadoop中用户有CREATE权限建表后但无HDFS文件的ACL访问权限异常怎么回事

这篇文章主要介绍hadoop中用户有CREATE权限建表后但无HDFS文件的ACL访问权限异常怎么回事,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!

问题现象

  • 测试环境

1.Redhat7.4

2.CDH6.2.0

3.集群启用了Sentry和Kerberos

在C6集群中使用hive管理员创建一个测试库acltest,将该库的CREATE权限赋予ldapff组。ldapff用户在该库下创建的表,在命令行使用hadoop命令没有权限访问该表的hdfs目录,提示没有权限访问。

hadoop中用户有CREATE权限建表后但无HDFS文件的ACL访问权限异常怎么回事  hadoop 第1张

为ldapff用户授权acltest库的CREATE权限

hadoop中用户有CREATE权限建表后但无HDFS文件的ACL访问权限异常怎么回事  hadoop 第2张

使用ldapff用户创建测试表,并插入测试数据

hadoop中用户有CREATE权限建表后但无HDFS文件的ACL访问权限异常怎么回事  hadoop 第3张

hadoop中用户有CREATE权限建表后但无HDFS文件的ACL访问权限异常怎么回事  hadoop 第4张

在命令行使用hadoop命令访问在acltest库下创建的test表数据目录

hadoop中用户有CREATE权限建表后但无HDFS文件的ACL访问权限异常怎么回事  hadoop 第5张

2

问题分析

ldapff用户拥有acltest库的CREATE权限,在该库下创建的test表的owner为ldapff,但在HDFS上由于上级目录(/user/hive/warehouse/acltest.db)没有足够的访问权限,导致ldapff用户无法访问自己创建的test表的HDFS目录。

1.当只赋予acltest库的CRETATE权限给ldapff组时,查看/user/hive/warehouse/acltest.db目录的ACL显示如下

hadoop中用户有CREATE权限建表后但无HDFS文件的ACL访问权限异常怎么回事  hadoop 第6张

可以看到test表的父级目录(/user/hive/warehouse/acltest.db),ldapff组的访问权限为“group:ldapff:---”,因为ldapff组无权限访问表的父级目录,所以即使ldapff是test表的owner也无法正常访问相应的HDFS目录。

2. 需要为ldapff用户授权acltest库的SELECT权限,经过测试为ldapff组赋予了acltest库的SELECT权限后是可以正常访问该表的HDFS目录

hadoop中用户有CREATE权限建表后但无HDFS文件的ACL访问权限异常怎么回事  hadoop 第7张

查看此时acltest库的HDFS路径ACL权限,显示如下:

hadoop中用户有CREATE权限建表后但无HDFS文件的ACL访问权限异常怎么回事  hadoop 第8张

显示ldapff组有查看acltest库对应HDFS的读和执行权限,再次访问test表的HDFS路径显示成功

hadoop中用户有CREATE权限建表后但无HDFS文件的ACL访问权限异常怎么回事  hadoop 第9张

之前Database/Table和HDFS权限的对应关系为:SELECT=READ、ALL=WRITE,在C6中多了一个Privilege为CREATE,这是一个比较特殊的权限,所以无法对应到HDFS上的任何权限上去,而且CREATE权限管理的Object为Database和Table。所以这个CREATE无法直接Mapping到HDFS权限,也就是只能在HDFS文件的ACL上添加owner的rwx权限。

以上是“hadoop中用户有CREATE权限建表后但无HDFS文件的ACL访问权限异常怎么回事”这篇文章的所有内容,感谢各位的阅读!希望分享的内容对大家有帮助,更多相关知识,欢迎关注蜗牛博客行业资讯频道!

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:niceseo99@gmail.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

评论

有免费节点资源,我们会通知你!加入纸飞机订阅群

×
天气预报查看日历分享网页手机扫码留言评论Telegram