温馨提示:如果使用电脑查看图片不清晰,可以使用手机打开文章单击文中的图片放大查看高清原图。
Fayson的github:
https://github.com/fayson/cdhproject
提示:代码块部分可以左右滑动查看噢
1.文档编写目的
Fayson在前面的文章《01-如何在Window Server 2012 R2搭建Acitve Directory域服务》、《02-Active Directory安装证书服务并配置》、《03-Active Directory的使用与验证》和《04-如何在RedHat7上配置OpenLDAP客户端及集成SSSD服务和集成SSH登录》,前面完成了AD服务的基本集成接下来就来实现与CDH各个服务的集成。本篇文章Fayson主要介绍Hive与AD集成。
- 内容概述
1.Hive与AD集成配置
2.AD集成测试
3.单个HiveServer2与AD集成
- 测试环境
1.CM和CDH版本为5.15.0
2.集群已启用Kerberos
3.Window Server2012 R2
2.Hive配置全局AD认证
1.登录CM的Web控制台,进入Hive服务搜索“LDAP”,修改配置如下:
参数 | 值 | 说明 |
---|---|---|
启用LDAP身份验证 | true | 勾选启用LDAP认证 |
LDAP URL | ldap://adserver.fayson.com | 访问AD的URL |
Active Directory域 | fayson.com | 在AD中配置的域 |
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Qq96JmA9-1583680102307)(https://ask.qcloudimg.com/http-save/yehe-1522219/yf0ifg1f22.jpeg)]
修改完AD相关的配置后,回到CM主页根据提示重启相应服务
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-0MwQ60t4-1583680102309)(https://ask.qcloudimg.com/http-save/yehe-1522219/6qwtz069sk.jpeg)]
3.AD集成测试
在前面通过配置已完成Hive与AD的集成,接下来使用beeline进行测试。
1.在AD上创建测试用户testa并将用户加入groupa组中
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-stljczGa-1583680102310)(https://ask.qcloudimg.com/http-save/yehe-1522219/h6z6kfbjlu.png)]
在命令行确认testa用户是否存在
[root@cdh03 ~]# more /etc/passwd |grep testa
[root@cdh03 ~]# id testa
uid=580201119(testa) gid=580201115(groupa) groups=580201115(groupa)
[root@cdh03 ~]#
(可左右滑动)
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-hYl5WR7c-1583680102311)(https://ask.qcloudimg.com/http-save/yehe-1522219/m9g2dez8gu.png)]
2.使用hive管理员账号为groupa组授予default库的所有权限
[root@cdh03 ~]# kinit hive/admin
[root@cdh03 ~]# beeline
beeline> !connect jdbc:hive2://cdh01.fayson.com:10000/;principal=hive/cdh01.fayson.com@FAYSON.COM
0: jdbc:hive2://cdh01.fayson.com:10000/> create role groupa_role;
0: jdbc:hive2://cdh01.fayson.com:10000/> grant all on database default to role groupa_role;
0: jdbc:hive2://cdh01.fayson.com:10000/> grant role groupa_role to group groupa;
0: jdbc:hive2://cdh01.fayson.com:10000/>
(可左右滑动)
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-UjDwbt5R-1583680102311)(https://ask.qcloudimg.com/http-save/yehe-1522219/3enza9wjoy.jpeg)]
3.在命令行使用beeline登录HiveServer2
[root@cdh03 ~]# beeline
beeline> !connect jdbc:hive2://cdh01.fayson.com:10000
Enter username for jdbc:hive2://cdh01.fayson.com:10000: testa
Enter password for jdbc:hive2://cdh01.fayson.com:10000: ******
(可左右滑动)
在命令行使用错误的用户密码登录,显示如下错误
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-sOUbBGLg-1583680102312)(https://ask.qcloudimg.com/http-save/yehe-1522219/tiy8evset6.jpeg)]
使用正确的密码登录,可以成功访问HiveServer2服务
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-KITwopY8-1583680102312)(https://ask.qcloudimg.com/http-save/yehe-1522219/bzk4ll6qx7.jpeg)]
执行SQL查询
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-EcwlySih-1583680102313)(https://ask.qcloudimg.com/http-save/yehe-1522219/rvc648qu4h.jpeg)]
执行MapReduce作业
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-j60SlOiA-1583680102313)(https://ask.qcloudimg.com/http-save/yehe-1522219/h3ond6l88s.jpeg)]
4.为单个HiveServer2配置AD认证
前面的配置可以对所有的HiveServer2服务生效,那么也可以针对单个HiveServer2服务进行配置,操作如下:
1.进入Hive实例列表,选择需要集成AD认证的HiveServer2服务,进入配置界面,在hive-site.xml中增加如下配置
<property>
<name>hive.server2.authentication</name>
<value>LDAP</value>
</property>
<property>
<name>hive.server2.authentication.ldap.url</name>
<value>ldap://adserver.fayson.com</value>
</property>
<property>
<name>hive.server2.authentication.ldap.Domain</name>
<value>fayson.com</value>
</property>
(可左右滑动)
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-e7MYArei-1583680102313)(https://ask.qcloudimg.com/http-save/yehe-1522219/rdj8iksfcd.jpeg)]
保存配置,并重启该HiveServer2服务即可,使用beeline测试与上面步骤一致。
5.总结
1.确保集群所有节点已配置AD集成SSH登录并通过sssd同步用户
2.使用HiveCli命令可以绕过AD认证,未确保Hive访问的安全,这里我们可以禁用HiveCLI,具体禁用可以参考Fayson前面讲的《如何在CDH启用Kerberos的情况下安装及使用Sentry(一)》、《如何在CDH启用Kerberos的情况下安装及使用Sentry(二)》和《Hive CLI禁用补充说明》。
提示:代码块部分可以左右滑动查看噢
为天地立心,为生民立命,为往圣继绝学,为万世开太平。
温馨提示:如果使用电脑查看图片不清晰,可以使用手机打开文章单击文中的图片放大查看高清原图。