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

芒果12个月前技术文章522

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;


标签: 大数据运维

相关文章

Haproxy配置负载均衡

yum安装haproxy如果后面要配置高可用,和keepalived配合使用更佳。yum install haproxy修改配置文件设置impala和ldap的负载均衡(Impala Daemon分布...

mysql8 rpm安装教程

1:卸载原有REPO源查询已经存在的mysql及相关依赖包rpm -qa | grep mysql此时你会看到一堆列表,使用 yum 命令依次卸载yum remove mysql-xxx-xxx-xx...

HDP部署Tez UI

HDP部署Tez UI

首先部署tomcat在官网下载apache-tomcat-9.0.22.tar.gz[root@hdp02 opt]# wget https://archive.apache.org/dist/tom...

EMR-java配置国密SM4加密

EMR-java配置国密SM4加密

首先找到bcprov-jdk15on-1.56.jar这个包<dependency>    <groupId>org.bouncycastle</groupId> ...

trino容器对接hudi(五)

trino容器对接hudi(五)

前提:本文是基于已经部署了trino容器的基础上进行的。冒烟测试是在trino对接ldap后并且ranger已经对接了metastore权限后,并且spark组件已经对接hudi,并且成功创建hudi...

idea打包java可执行jar包

idea打包java可执行jar包

1,在项目上鼠标右键 --> Open Module SettingsArtifacts --> + --> JAR --> From modules with depende...

发表评论    

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