`
lookqlp
  • 浏览: 341756 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

sentry配置

阅读更多
当前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/
分享到:
评论
1 楼 linux91 2015-06-05  
楼主你好,我用CM配置LDAP用户组映射,进入impala时,可以验证通过,但是在里边操作,总是说没有权限,请问如何配置?


这两个地方?

Hadoop 用户组 进程ping LDAP 用户搜索筛选器
hadoop.security.group.mapping.ldap.search.filter.user

重置为默认值: (&(objectClass=user)(sAMAccountName={0}))
当搜索 LDAP 用户时使用的其他筛选器。默认设置通常适用于 Active Directory 安装。如连接到通用 LDAP 服务器,请用 ''uid'' 替换 ''sAMAccountName''。{0} 用于代表用户名称适合筛选器的位置的特殊字符串。
Hadoop 用户组 进程ping LDAP 组搜索筛选器
hadoop.security.group.mapping.ldap.search.filter.group

重置为默认值: (objectClass=group)

相关推荐

Global site tag (gtag.js) - Google Analytics