1、背景
集群版本:cdh6.2.0
impala版本:3.2.0+cdh6.2.0
用户认证:AD
由于用户需要使用数据库工具连接impala,但是集群开启了kerberos,如果使用数据库连接工具连接impala,就需要在客户端机器上安装kerberos环境,比较麻烦,所以就考虑使用账号密码进行认证。
2、配置
在cloudera manager管理界面,选择impala——配置,配置以下参数
搜索enable_ldap_auth,选择为true
ldap_uri : ldap://x.x.x.x:389 ad server的ip地址
ldap_domain: FAYSON.COM AD域名
搜索
Impala Command Line Argument Advanced Configuration Snippet (Safety Valve)
添加
—ldap_passwords_in_clear_ok=true #由于ad没有开启ssl,所以需要这个参数
配置完成后,重启ldap
3、测试
在此,我以apache superset 连接impala为例,进行测试
1、在superset的服务器节点安装 pip install impyla
2、登录到superset的页面。添加数据源
配置外部属性
{
"metadata_params": {},
"engine_params": {
"connect_args": {
"auth_mechanism": "ldap", ##认证方式
"user" : "xxxxxx",
"password" : "xxxxxx" }
}
}
然后点击测试
最后保存。
然后,就在sql lab——>SQL Editor中