hive、impala集成ldap
1、概要
1.1 环境信息
- hadoop:cdh5.10
- os:centos6.7
- user:root
- hive、impala已集成sentry
1.2 访问控制权限
这里通过使用openldap来控制hive、impala的访问权限,即通过用户名、密码来进行访问。而hive、impala内部则已集成了sentry来控制更为细粒度的权限访问。
2、openldap
2.1 安装
# yum install -y openldap-*
2.2 配置
- 拷贝ldap配置文件到ldap目录
# cp /usr/share/openldap-servers/slapd.conf.obsolete
# /etc/openldap/slapd.conf
- 创建ldap管理员密码
# slappasswd
New password:
Re-enter new password:
{SSHA}k8d0PcF3Y1VcI/ixMiss8e5ZmIkFC8dl
输入保存管理员密码,返回的是加密后的一串密文
- 编辑配置文件
注:这里组织的域为 zpbigdata.com
# vim /etc/openldap/slapd.conf 修改对应如下内容
database config
access to *
by dn.exact="gidNumber=0+uidNumber=0,cn=peercred,cn=external,cn=auth" manage
by * none
# enable server status monitoring (cn=monitor)
database monitor
access to *
by dn.exact="gidNumber=0+uidNumber=0,cn=peercred,cn=external,cn=auth" read
by dn.exact="cn=Manager,dc=zpbigdata,dc=com" read
by * none
#######################################################################
# database definitions
#######################################################################
database bdb
suffix "dc=zpbigdata,dc=com"
checkpoint 1024 15
rootdn "cn=Manager,dc=zpbigdata,dc=com"
# Cleartext passwords, especially for the rootdn, should
# be avoided. See slappasswd(8) and slapd.conf(5) for details.
# Use of strong authentication encouraged.
rootpw {SSHA}k8d0PcF3Y1VcI/ixMiss8e5ZmIkFC8dl #加密后的管理员密码
#rootpw {SSHA}k8d0PcF3Y1VcI/ixMiss8e5ZmIkFC8dl
- 拷贝DB_CONFIG文件到指定目录
cp /usr/share/openldap-servers/DB_CONFIG.example /var/lib/ldap/DB_CONFIG
- 删除默认/etc/openldap/slapd.d下面的所有内容
rm -rf /etc/openldap/slapd.d/*
- 赋予配置目录相应权限
# chown -R ldap:ldap /var/lib/ldap
# chown -R ldap:ldap /etc/openldap/
# service slapd start
- 生成配置文件并赋值
# slaptest -f /etc/openldap/slapd.conf -F /etc/openldap/slapd.d
config file testing succeeded
# chown -R ldap:ldap /etc/openldap/slapd.d/*
# service slapd restart
2.3 migrationtools
- 安装migrationtools
# yum install -y migrationtools
- 修改migrate_common.ph文件
# vim /usr/share/migrationtools/migrate_common.ph
# Default DNS domain
$DEFAULT_MAIL_DOMAIN = "zpbigdata.com";
# Default base
$DEFAULT_BASE = "dc=zpbigdata,dc=com";
- 利用pl脚本将/etc/passwd 和/etc/group生成LDAP能读懂的文件格式
# 这里导入一个etl用户来测试
# cat /etc/passwd | grep etl > /tmp/passwd
# cat /etcgroup | grep etl > /tmp/group
# /usr/share/migrationtools/migrate_base.pl > /tmp/base.ldif
# /usr/share/migrationtools/migrate_passwd.pl /tmp/passwd > /tmp/passwd.ldif
# /usr/share/migrationtools/migrate_group.pl /tmp/group > /tmp/group.ldif
- 将文件导入到LDAP
# ldapadd -x -D "cn=Manager,dc=zpbigdata,dc=com" -W -f /tmp/base.ldif
# ldapadd -x -D "cn=Manager,dc=zpbigdata,dc=com" -W -f /tmp/passwd.ldif
# ldapadd -x -D "cn=Manager,dc=zpbigdata,dc=com" -W -f /tmp/group.ldif
2.4 phpldapadmin
phpLDAPadmin是一个LDAP web客户端,它提供一个简单的、支持多语言多环境的LDAP管理功能。安装部署略。
可以看到刚刚测试导入的用户etl。
3、hive集成ldap
3.1 修改配置
在/etc/hive/conf/hive-site.xml中添加
<property>
<name>hive.server2.authentication</name>
<value>LDAP</value>
</property>
<property>
<name>hive.server2.authentication.ldap.url</name>
<value>ldap://ip</value>
</property>
<property>
<name>hive.server2.authentication.ldap.baseDN</name>
<value>ou=People,dc=zpbigdata,dc=com</value>
</property>
添加完后重启hive-server2.
3.2 验证
此时通过beeline连接,需要ldap中对应的用户名密码才能连接成功。
4、impala集成ldap
4.1 修改配置
修改/etc/default/impala文件,在IMPALA_SERVER_ARGS中添加:
-enable_ldap_auth=true
-ldap_tls=false
-ldap_passwords_in_clear_ok=true
-ldap_uri=ldap://idap_ip
-ldap_baseDN=ou=People,dc=zpbigdata,dc=com
添加完后重启impala。
3.3 验证
验证命令:
impala-shell -i impalad-server -u etl -l --auth_creds_ok_in_clear
-i 集群中任意一台impalad服务器都可以
-u 登录用户
-l 使用ldap
--auth_creds_ok_in_clear 由于没有使用ssl,需要添加该参数。
hive、impala集成ldap的更多相关文章
- Impala集成C3P0的连接方式
1. 概述 Impala是Cloudera公司主导开发的新型查询系统,它提供SQL语义,能查询存储在Hadoop的HDFS和HBase中的PB级大数据.已有的Hive系统虽然也提供了SQL语义,但由于 ...
- 【Hadoop离线基础总结】Hue与Impala集成
Hue与Impala集成 1.修改hue.ini配置文件 [impala] server_host=node03 server_port=21050 impala_conf_dir=/etc/impa ...
- spark与hive的集成
一:介绍 1.在spark编译时支持hive 2.默认的db 当Spark在编译的时候给定了hive的支持参数,但是没有配置和hive的集成,此时默认使用hive自带的元数据管理:Derby数据库. ...
- Oracle/Hive/Impala SQL比较1
5 Function 指数据库内置的function,不讨论UDF.另外,操作符都不比较了,区别不大. 5.1 数学函数 功能 Oracle Hive Impala ABS 绝对值,有 ...
- ldap配置系列二:jenkins集成ldap
ldap配置系列二:jenkins集成ldap jenkins简介 jenkins是一个独立的.开放源码的自动化服务器,它可以用于自动化与构建.测试.交付或部署软件相关的各种任务. jenkins官方 ...
- ldap配置系列三:grafana集成ldap
ldap配置系列三:grafana集成ldap grafana的简介 grafana是一个类似kibana的东西,是对来自各种数据源的数据进行实时展示的平台,拥有这牛逼的外观.给一个官方的demo体验 ...
- 035 spark与hive的集成
一:介绍 1.在spark编译时支持hive 2.默认的db 当Spark在编译的时候给定了hive的支持参数,但是没有配置和hive的集成,此时默认使用hive自带的元数据管理:Derby数据库. ...
- hive impala C++ Java垃圾回收 Garbage Collection GC
hive impala impala 推荐每个节点内存 2^7~2^8GB Impala与Hive的比较 - 文章 - 伯乐在线 http://blog.jobbole.com/43233/ &l ...
- hbase与Hive的集成
1 HBase与Hive的对比 1.Hive (1) 数据仓库 Hive的本质其实就相当于将HDFS中已经存储的文件在Mysql中做了一个双射关系,以方便使用HQL去管理查询. (2) 用于数据分析. ...
随机推荐
- 关于SQL的一些小知识
在代码中调用存储过程的时,必须先测试存储过程,存储过程测试成功之后再去java中去调用!!@!@#!@!@! 以后自己写的存储过程写一个本地保存一个.!~~~!!(这个很关键) 以后在代码中的SQL都 ...
- sql server 去除字符中空格的方法
用的是REPLACE ( original-string, search-string, replace-string )方法,这三个参数分别是:原字符串.要替换的字符串.替换成的字符串 比如:UPD ...
- D3.js-坐标轴生成测试SVG
Bottom top Bottom top // =0) return "translate("+margin+","+i*offset+")&q ...
- Android开发艺术1之Activity的生命周期
作为<Android开发艺术探索>这本书的第一篇博客,我就多说几句.本系列博客旨在对书中相关内容进行解读,简化,提供一个入门到提高的流程.不敢说书评,也不能说教程,只希望对有些人有帮助就好 ...
- Zookeeper3.4.9分布式集群安装
一.依赖文件安装 1.1 JDK 参见博文:http://www.cnblogs.com/liugh/p/6623530.html 二.文件准备 2.1 文件名称 zookeeper-3.4.9.ta ...
- java调试技能之dubbo调试 ---telnet
dubbo作为一个远程调用框架,虽与同类型的框架,不知道谁优谁劣,但是就公司层面使用来说,还是很棒的.这里简单的写一下怎么使用和调试技巧,就算是作个使用总结吧,供快速使用和问题解决! dubbo是基于 ...
- DataReader和DataSet区别
可以使用DataReader类的对象或DataSet类的对象从数据库读取数据,但它们是有区别的,归纳起来大致有以下几条: 1. DataReader是数据管理提供者类,而DataSet是一 ...
- onclick = xxx这种赋值写法绑定事件的原理是什么?
本文转自知乎貘吃馍香的回答 提问:刚入门不久,能力有限,这个问题我描述起来有点困难,只有劳烦各位大神细看了 我之前一直以为js底层存在类似下面这样的代码: //给所有dom对象定义好onclick值为 ...
- mysqldumpslow的使用简介
mysqldumpslow的使用:比如我们要查询按时间返回前5条日志信息,格式如下:mysqldumpslow -s t -t 5 /var/log/mysql/slowquery_20170303. ...
- Web性能优化工具WebPageTest(二)——性能数据
在前一篇<配置>完成后,点击“START TEST”,就可以开始测试,测试需要一段时间. 有时候可能还要排队,如下图所示,测试完成后可查看到测试结果. 一.Summary 1)优化等级 优 ...