0414-05-如何为Hive集成AD认证

温馨提示:如果使用电脑查看图片不清晰,可以使用手机打开文章单击文中的图片放大查看高清原图。
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 URLldap://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禁用补充说明》。

提示:代码块部分可以左右滑动查看噢
为天地立心,为生民立命,为往圣继绝学,为万世开太平。
温馨提示:如果使用电脑查看图片不清晰,可以使用手机打开文章单击文中的图片放大查看高清原图。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值