0566-07-5.15.0-如何为Impala集成FreeIPA的用户认证
温馨提示:如果使用电脑查看图片不清晰,可以使用手机打开文章单击文中的图片放大查看高清原图。
Fayson的github: https://github.com/fayson/cdhproject
提示:代码块部分可以左右滑动查看噢
1
文档编写目的
前面Fayson文章讲《0558-01-如何在Redhat7上安装FreeIPA》、《0559-02-如何在Redhat7上安装FreeIPA的客户端》、《0560-03-如何使用root用户重置FreeIPA admin密码》、《0561-04-如何将CDH集成的KDC迁移至FreeIPA的Kerberos认证》、《0562-05-5.15.0-如何为Hive集成FreeIPA的用户认证》和《0563-06-如何在FreeIPA上管理域名解析》,FreeIPA集成了用户管理及Kerberos认证,本篇文章Fayson主要介绍如何在CDH集群中为Impala集成FreeIPA的用户认证。
- 内容概述
1.测试环境描述
2.Impala集成OpenLDAP
3.Impala集成验证
- 测试环境
1.RedHat7.3
2.FreeIPA4.6.4
3.CM和CDH版本为5.15.0
2
环境准备
- FreeIPA服务器
IP地址 |
HOSTNAME |
描述 |
---|---|---|
17x.2x.x.x |
cdh04.fayson.net |
FreeIPA已安装 |
3
Impala配置FreeIPA认证
Impala配置LDAP相关参数说明:
属性 |
参数值 |
说明 |
---|---|---|
enable_ldap_auth |
true |
启用LDAP认证 |
ldap_uri |
ldap://cdh04.fayson.net |
OpenLDAP访问地址 |
ldap_baseDN |
cn=users,cn=accounts,dc=fayson,dc=net |
用于对OpenLDAP等非AD服务器配置 |
ldap_bind_pattern |
需要对DN加强控制时,应使用此选项。该参数与LDAP域和LDAP baseDN想好排斥 |
1.在集群中使用LDAP的命令查找到FreeIPA中用户所属的BaseDN,命令如下:
[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。
2.登录CM的Web控制台,进入Impala服务,修改LDAP配置
3.在Impala Daemon命令行添加如下配置” --ldap_passwords_in_clear_ok”
完成上述配置后,根据CM提示重启Impala服务即可。
4
Impala集成FreeIPA验证
1.登录Hue为FreeIPA上的cdhadmin用户授权
2.在命令行使用cdhadmin用户访问Impala
[root@cdh03 ~]# more /etc/passwd |grep cdhadmin
[root@cdh03 ~]# id cdhadmin
[root@cdh03 ~]# klist
[root@cdh03 ~]# impala-shell -i cdh03.fayson.net -l -u cdhadmin --auth_creds_ok_in_clear
3.执行一个SQL的Count操作
作业执行成功,Impala上监控的状态
5
总结
1.Fayson使用的是CDH5.15.0版本,在该版本下Impala安全环境下有一个Bug,具体可以参考《Kerberos环境下Impala Daemon在CDH5.15版本中KRPC端口27000异常分析》
2./etc/krb5.conf配置文件的格式要规范统一,不要在同一个配置章节下有多一个或少一个空格会造成莫名其妙的影响。
提示:代码块部分可以左右滑动查看噢
为天地立心,为生民立命,为往圣继绝学,为万世开太平。 温馨提示:如果使用电脑查看图片不清晰,可以使用手机打开文章单击文中的图片放大查看高清原图。
推荐关注Hadoop实操,第一时间,分享更多Hadoop干货,欢迎转发和分享。
- 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 数组属性和方法
- 前端图片下载
- 使用JDBC连接MySQL数据库--典型案例分析(七)----批量插入员工信息
- NIO删除文件提示文件AccessDeniedException
- 使用JDBC连接MySQL数据库--典型案例分析(八)----实现员工数据的分页查询
- RocketMQ源码之路(一)搭建RocketMQ源码环境
- docker安装filebeat
- Java Jar源码反编译工具对比
- 深入理解JVM虚拟机---垃圾回收与内存分配
- rxjs pipe和filter组合的一个实际例子的单步调试
- SAP Spartacus基于travis的持续集成
- Angular里如何测试一个具有外部依赖的Component
- Angular Component的DOM单元测试
- 对具有依赖的Angular服务进行单元测试的几种方式
- 使用TestBed测试具有依赖关系的Angular服务
- 使用jasmine.createSpyObj测试具有依赖关系的Angular服务