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 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禁用补充说明》。
提示:代码块部分可以左右滑动查看噢
为天地立心,为生民立命,为往圣继绝学,为万世开太平。 温馨提示:如果使用电脑查看图片不清晰,可以使用手机打开文章单击文中的图片放大查看高清原图。
- 在.NET Core 里使用 BouncyCastle 的DES加密算法
- 微信小程序:为了满足三方需求,我们一直在改变
- 让陌生人能够相互自由交易和支付
- 斯坦福发布首份 AI Index 报告,AI 研究者不再茫然
- jQuery仿极客公园火箭发射“返回顶部”效果(初始篇)
- Java程序员必读,Java设计模式应该遵循哪些原则
- Visual Studio 2010快速参考指南里头的Scrum海报
- TFS2010 Team Project Collections
- 基于Ext.Panel扩展一个更容易操作的Canvas
- 好玩的效果很好的Html游戏和范例
- jQuery仿极客公园火箭发射“返回顶部”效果(优化篇)
- 北京市首个无人驾驶试运营基地落户顺义
- 后rtx集成时代
- 后短信集成时代
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- nginx(一) 基础知识
- kubernetes(十三) k8s 集群监控
- TestNG跑个Demo并打个Jar包
- 01-Ansible基础学习
- 02-Ansible入门进阶
- 接口自动化框架pyface详细介绍
- JVM字节码与Java代码层调优
- kubernetes(十四) 基于kubernetes的jenkins持续集成
- 2020测试工具索引
- 测试同学动手搭个简易web开发项目
- kubernetes(十五) kubernetes 运维
- JVM层GC调优(下)
- pytest封神之路第一步 tep介绍
- kubernetes(十六) k8s 弹性伸缩
- Mockito鸡尾酒第一杯 Java单测Mock