欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

sentry配置

程序员文章站 2024-01-19 10:27:10
...
当前cdh版本为5.2.0,且通过cloudera manger来管理集群。

选择sentry配置方式,file or db。

file形式(sentry-provider.ini),存于hdfs上。
选择group mapping方式,有HadoopGroupResourceAuthorizationProvider(正式环境中)、LocalGroupResourceAuthorizationProvider(测试环境中)。
经过测试,Hadoop groups需要使用将hadoop用户和用户组通过LDAP管理[url]configure ldap group mapping[/url],但配置后hdfs启动异常,并且若不配置ldap mapping,sentry provider file没有效果,所有表和库都看不到。
采用简单的 LocalGroupResourceAuthorizationProvider测试成功。
相关步骤参看cm配置方法
db形式,cloudera manager提供了sentry service即sentry store。
安装sentry service并配置相关的数据库(后续的权限信息都存于这些表),配置sentry如上的cm配置方法不需要配置。
sudo su hive
beeline
!connect jdbc:hive2://172.20.0.74:10000/data_system;principal=hive/slave-74@YEAHMOBI.COM
(hive kerberos 账户和密码)(据说hive0.13版本集成ldap失败,新的cdh5.3可行,所以采用kerberos认证)
create role admin_role;
GRANT ALL ON SERVER server1 TO ROLE admin_role;
GRANT ROLE admin_role TO GROUP hive;
create role bi_role;  
GRANT ALL ON DATABASE data_system TO ROLE bi_role;
GRANT ROLE bi_role TO GROUP bi;  

如上创建了两个角色,admin_role管理员权限,并授权给hive,bi_role对db data_system的所有权限,授权给bi用户组。
sudo su bi
beeline -u "jdbc:hive2://172.20.0.74:10000/data_system;principal=hive/slave-74@YEAHMOBI.COM"
(bi kerberos用户及密码 或者优先kinit bi/keytab)
show databases;
| database_name  |
+----------------+--+
| data_system    |
| default        |

beeline shell帮助文档
新建用户
在所有节点中运行
useradd bi -u 1001 (id大于1000)
usermod -a -G bi bi

相关kerberos命令
addprinc -randkey krbtgt/client-75@YEAHMOBI.COM
addprinc -randkey host/client-75@YEAHMOBI.COM
addprinc -randkey HTTP/client-75@YEAHMOBI.COM
addprinc -randkey bi/client-75@YEAHMOBI.COM
addprinc -randkey bi/slave-74@YEAHMOBI.COM
addprinc bi@YEAHMOBI.COM
xst -norandkey -k bi.keytab host/client-75@YEAHMOBI.COM
xst -norandkey -k bi.keytab HTTP/client-75@YEAHMOBI.COM
xst -norandkey -k bi.keytab bi/client-75@YEAHMOBI.COM

创建hdfs目录和授权
sudo su hdfs
hadoop fs -mkdir /user/bi
hadoop fs -chmod -R 755 /user/bi
hadoop fs -chown -R bi:bi /user/bi

mr测试
sudo su bi
kinit -kt bi.keytab bi/client-75@YEAHMOBI.COM
hadoop jar /opt/cloudera/parcels/CDH-5.2.0-1.cdh5.2.0.p0.36/jars/hadoop-examples.jar pi 10 1000

beeline ldap测试:
 !connect jdbc:hive2://172.20.0.74:10000/data_system
输入ldap的bi账户和密码
show databases成功


参考blog:
http://www.cloudera.com/content/cloudera/en/documentation/core/v5-2-x/topics/cm_sg_ldap_grp_mappings.html#xd_583c10bfdbd326ba--6eed2fb8-14349d04bee--7bc3
http://www.cloudera.com/content/cloudera/en/documentation/core/v5-2-x/topics/sg_policy_cm_config.html
http://blog.javachen.com/2014/11/14/config-impala-and-hive-with-sentry/
相关标签: sentry cloudera