Sentry管理Hive目录acl -setacl不生效

芒果1年前技术文章740

CDH在启动Sentry后/user/hive/warehouse这个目录 hdfs手动setacl会不生效
首先确保hdfs参数dfs.namenode.acls.enabled=true;还有另一个acl
0F296062-C217-4461-8429-9795FE70DB72.png
hive这边确认参数:
6BB7E656-1646-4531-A4F4-092377EBF986.png
ps:  报错:FAILED: InvalidConfigurationExceptionhive.server2.authentication can’t be none in non-testing mode
Hive服务—>配置---->范围—>Hive(服务范围)—>类别—>主要---->高级–>sentry-site.xml的hive服务高级配置代码段,如图:[sentry.hive.testing.mode]
664A6CDA-8146-4CD5-9CCE-5DDF45099C0B.png
首先我们先找一个目录测试下
hdfs dfs -getfacl /mgtest
B1556D87-8872-4AAD-B6DB-BBA697381773.png
[hdfs@cdh01 ~]$ hdfs dfs -setfacl -R -m group:hive:rwx /mgtest
[hdfs@cdh01 ~]$ hdfs dfs -getfacl /mgtest
6D50CCE0-B27B-46C4-B035-2C7BF90D2E49.png
接下来我们测试
测试目录:/user/hive/warehouse/mgtest.db
hdfs dfs -setfacl -R -m group:mgtest02:rwx /user/hive/warehouse/mgtest.db
hdfs dfs -getfacl /user/hive/warehouse/mgtest.db
2EA3B95B-7AF3-4017-BA9D-18FBDC33A79A.png
可以看出来 我们set的并没有生效。
解决方法:
进入beeline中
首先我们创建一个
CREATE ROLE mgtest01;
授予其对mgtest01库的管理权限
grant all on database mgtest to role mgtest01 with grant option;
查看mgtest01角色的权限列表
show grant role mgtest01;

image.png
GRANT ROLE mgtest01 TO GROUP mgtest03;
06418B8C-D562-4A99-AFBD-C698D69F0DB4.png
查看hdfs权限
hdfs dfs -getfacl /user/hive/warehouse/mgtest.db
D035A47F-4054-4799-838C-449307BA576B.png
再来一次试试
GRANT ROLE mgtest01 TO GROUP mgtest04;
查看权限
hdfs dfs -getfacl /user/hive/warehouse/mgtest.db
F1C3CDFD-2A86-4240-BDC6-3BA321B8CFA3.png
ps:
查看所有角色:show roles;
查看当前角色:show current roles;
查看当前用户:select current_user();
Ps: admin授权操作
CREATE ROLE admin;
grant all on server server1 to role admin;
GRANT ROLE admin TO GROUP hive;


标签: 大数据运维

相关文章

Java-API对HDFS的操作(IDEA版)

Java-API对HDFS的操作(IDEA版)

前期工作首先就是安装maven在win系统下不配置hadoop环境,直接运行代码会报错,显示缺少winutils.exe 和 hadoop.dll 两个文件首先添加pom.xml文件  <dep...

Keepalived安装部署

Keepalived安装部署

安装keepalivedyum 安装keepalivedyum install keepalivedkeepalived.conf配置文件进行调整,其中state设置主备状态,interface设置对...

Hive优化之监控(四)

Hive优化之监控(四)

    Hive是大数据领域常用的组件之一,主要是大数据离线数仓的运算,关于Hive的性能调优在日常工作和面试中是经常涉及的一个点,因此掌握一些Hive调优是必...

CDH时钟同步问题

CDH时钟同步问题

首先执行如下命令:查看chronyd是否启动systemctl status chronyd如果没启动执行如下命令启动systemctl restart chronyd每台检查时间状态chronyc...

ranger对接hbase

ranger对接hbase

前提:本文是基于集群中已经部署了ranger组件和hbase组件的情况下,增加ranger对hbase组件的对接。安装部署1、ranger-hbase插件安装使用ranger2.3版本对接插件。将插件...

CDP实操--HDFS角色迁移

CDP实操--HDFS角色迁移

    hdfs角色迁移功能在cdp页面中就可以实现该功能,迁移的时间与namenode元数据大小,以及block数量多少有关,注意迁移过程中集群需要关闭,要预留出操作时间窗口。1、页面选择迁移角色2...

发表评论    

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。