1 配置impala:
注意: 上述互斥项,如果使用ldap的uid,直接配置上面一个。 如果使用ldap的cn,则配置下一项: cn=#UID,ou=People,dc=...,dc=com
2 配置HIVE
HIVE默认使用 LDAP uid认证,如果LDAP配置的使用cn, 可以通过配置下述参数
参数:
hive.server2.authentication.ldap.userDNPattern
值:
cn=%s,ou=People,dc=tcl,dc=com:uid=%s,ou=People,dc=tcl,dc=com
上述的value以:分隔,可以同时支持cn和uid。
3 HUE配置
3.1 配置如下图:
上述填充内容为必填项。
注:LDAP用户名模式, 如果 LDAP配置使用cn登录,则 cn=
如果 LDAP配置使用uid登录, 则 uid=
上述配置,可以使用命令行登录impala和hive。 但是通过hue web页面登录后访问impala和hive还是不行。
登陆已经可以了,不过登陆进去后会报一些错误:
登录HIVE后右上角:
4 HUE web 访问
4.1 我们需要配置一些额外的参数从而让hue用户可以代理其他的用户
1.在ldap中创建hue用户
2. hue_safety_valve.ini 的 Hue 服务高级配置代码段(安全阀) 配这些
[beeswax]
close_queries=True
use_sasl=False
auth_username=hue
auth_password=xxxxxxx
[impala]
server_host=datanode1
server_interface=hiveserver2
server_port=21050
query_timeout_s=100
impersonation_enabled=True
auth_username=hue
auth_password=xxxxxxx
4.2 在hive和impala的core-site.xml 的 Hive 服务高级配置代码段(安全阀)中增加以下配置:
impala: core-site.xml 的 Impala Catalog Server 高级配置代码段(安全阀)
4.3 impala的Impala Daemon 命令行参数高级配置代码段(安全阀)中再加上
--authorized_proxy_user_config=hue=*
然后就不会报这个错误了。
LDAP没有配置hue账号,报错:
注: LDAP创建的新用户,senry授权后,还必须再HIVESERVER2节点,创建OS账号。因为,sentry授权是基于账号所在的group, LDAP账号没有组。 如果想完全基于LDAP,需要配置HDFS的权限认证,全部改为基于LDAP的方式(略有复杂,此处不表)
参考: https://blog.51cto.com/xiaolanlan/2378004#h5
cn与uid配置:
https://cwiki.apache.org/confluence/display/Hive/User+and+Group+Filter+Support+with+LDAP+Atn+Provider+in+HiveServer2#UserandGroupFilterSupportwithLDAPAtnProviderinHiveServer2-hive.server2.authentication.ldap.userDNPattern