温馨提示:如果使用电脑查看图片不清晰,可以使用手机打开文章单击文中的图片放大查看高清原图。
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中配置的域 |
修改完AD相关的配置后,回到CM主页根据提示重启相应服务
3.AD集成测试
在前面通过配置已完成Hive与AD的集成,接下来使用beeline进行测试。
1.在AD上创建测试用户testa并将用户加入groupa组中
在命令行确认testa用户是否存在
[root@cdh03 ~]# more /etc/passwd |grep testa
[root@cdh03 ~]# id testa
uid=580201119(testa) gid=580201115(groupa) groups=580201115(groupa)
[root@cdh03 ~]#
(可左右滑动)
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/>
(可左右滑动)
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: ******
(可左右滑动)
在命令行使用错误的用户密码登录,显示如下错误
使用正确的密码登录,可以成功访问HiveServer2服务
执行SQL查询
执行MapReduce作业
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>
(可左右滑动)
保存配置,并重启该HiveServer2服务即可,使用beeline测试与上面步骤一致。
5.总结
1.确保集群所有节点已配置AD集成SSH登录并通过sssd同步用户
2.使用HiveCli命令可以绕过AD认证,未确保Hive访问的安全,这里我们可以禁用HiveCLI,具体禁用可以参考Fayson前面讲的《如何在CDH启用Kerberos的情况下安装及使用Sentry(一)》、《如何在CDH启用Kerberos的情况下安装及使用Sentry(二)》和《Hive CLI禁用补充说明》。
提示:代码块部分可以左右滑动查看噢
为天地立心,为生民立命,为往圣继绝学,为万世开太平。 温馨提示:如果使用电脑查看图片不清晰,可以使用手机打开文章单击文中的图片放大查看高清原图。