温馨提示:如果使用电脑查看图片不清晰,可以使用手机打开文章单击文中的图片放大查看高清原图。
Fayson的github: https://github.com/fayson/cdhproject
提示:代码块部分可以左右滑动查看噢
1
文档编写目的
前面Fayson文章讲《0558-01-如何在Redhat7上安装FreeIPA》、《0561-04-如何将CDH集成的KDC迁移至FreeIPA的Kerberos认证》和《0559-02-如何在Redhat7上安装FreeIPA的客户端》,FreeIPA集成了用户管理及Kerberos认证,本篇文章Fayson主要介绍如何在CDH集群中为Hive集成FreeIPA的用户认证。
- 内容概述
1.测试环境描述
2.集成FreeIPA
3.集成验证
- 测试环境
1.RedHat7.3
2.FreeIPA4.6.4
3.和CDH版本为5.15.0
2
环境准备
- FreeIPA信息
IP地址 | HOSTNAME | 描述 |
---|---|---|
17x.2x.x.x | cdh04.fayson.net | FreeIPA已安装 |
- Hive服务信息
IP地址 | HOSTNAME | 描述 |
---|---|---|
17x.2x.x.x | cdh02.fayson.net | HiveServer2 |
当前集群部署了一个FreeIPA服务及一个HiveServer2服务。
3
Hive配置FreeIPA认证
1.登录CM的Web控制台,进入Hive服务,关闭Hive的模拟功能
2.在集群中使用LDAP的命令查找到FreeIPA中用户所属的BaseDN,命令如下:
代码语言:javascript复制[root@cdh04 ~]# ldapsearch -h cdh04.fayson.net -b "dc=fayson,dc=net" -D "cn=directory manager" -W |grep cdhadmin
在查找出来的信息中,找到member:uid=cdhadmin行
cn=users,cn=accounts,dc=fayson,dc=net即为LDAP BaseDN。
3.修改LDAP相关配置,通过这里可以进行全局配置,配置后所有的HiveServer2服务均使用该配置
完成上述配置后,根据CM提示重启Hive服务即可。
4
Hive集成OpenLDAP验证
1.登录Hue为FreeIPA上的cdhadmin用户授权
2.在命令行使用cdhadmin用户通过beeline的方式访问Hive
代码语言:javascript复制[root@cdh02 ~]# more /etc/passwd |grep cdhadmin
[root@cdh02 ~]# id cdhadmin
[root@cdh02 ~]# klist
[root@cdh02 ~]# beeline
beeline> !connect jdbc:hive2://cdh02.fayson.net:10000
Enter username for jdbc:hive2://cdh02.fayson.net:10000: cdhadmin
Enter password for jdbc:hive2://cdh02.fayson.net:10000: ********
0: jdbc:hive2://cdh02.fayson.net:10000> show databases;
3.执行一个SQL的Count操作
作业执行成功,Yarn上显示成功
5
总结
1.在为Hive服务配置FreeIPA的用户认证时,可以通过全局的方式配置HiveServer2服务即文章中讲述的方式,同时可以为单个HiveServer2服务配置,具体可以参考Fayson前面的文章《4.如何为Hive配置OpenLDAP认证》
2.需要为集群所有节点都配置好FreeIPA客户端,否则在Hive上执行MapReduce作业时会失败。
提示:代码块部分可以左右滑动查看噢
为天地立心,为生民立命,为往圣继绝学,为万世开太平。 温馨提示:如果使用电脑查看图片不清晰,可以使用手机打开文章单击文中的图片放大查看高清原图。
推荐关注Hadoop实操,第一时间,分享更多Hadoop干货,欢迎转发和分享。