Hue作为一个数据开发平台,支持连接各种执行引擎,例如Hive、Spark、Impala和Presto。当这些执行引擎开启LDAP认证后,Hue需要进行相应的配置后才能成功连接。本文介绍如何配置Hue连接开启LDAP认证的执行引擎。
前提条件
已创建E-MapReduce的Hadoop集群,详情请参见创建集群。
步骤一:创建LDAP代理认证用户
当执行引擎开启LDAP认证后,Hue访问执行引擎时将会被LDAP认证拦截。您需要创建一个LDAP代理认证用户,Hue使用该用户通过引擎的LDAP认证,并代理登录Hue的用户执行作业。创建Hue代理认证用户的流程如下。
使用SSH方式登录到集群,具体步骤请参见登录集群。
创建hue.ldif文件,文件内容如下。
dn: uid=hue,ou=people,o=emr objectClass: top objectClass: person objectClass: organizationalPerson objectClass: inetOrgPerson userPassword: <password> sn: hue cn: hue uid: hue
说明password自定义填写,在步骤二:配置连接开启LDAP认证的引擎需要使用。
创建Hue代理用户。
ldapadd -x -H ldap://emr-header-1:10389 -D uid=admin,o=emr -w <admin_pwd> -f hue.ldif
<admin_pwd>:LDAP Admin用户的密码。可以在EMR控制台左侧导航栏,选择 ,在OpenLDAP服务页面,单击配置页签,搜索manager_password配置,获取到对应的值。
步骤二:配置连接开启LDAP认证的引擎
进入Hue配置页面。
在顶部菜单栏处,根据实际情况选择地域和资源组。
单击上方的集群管理页签。
在左侧导航栏,选择 。
在Hue服务页面,单击配置页签。
在服务配置区域,单击hue。
添加Hue自定义配置。
单击右上角的自定义配置。
在新增配置项区域,添加配置信息。请根据具体的执行引擎添加相应的配置信息。
连接开启LDAP认证的Hive、Spark配置信息。
参数
描述
beeswax.auth_username
固定值为hue。
beeswax.auth_password
为创建代理用户Hue的密码,详细信息,请参见步骤一:创建LDAP代理认证用户。
连接开启LDAP认证的Impala配置信息。
参数
描述
impala.auth_username
固定值为hue。
impala.auth_password
为创建代理用户Hue的密码,详细信息,请参见步骤一:创建LDAP代理认证用户。
连接开启LDAP认证的Presto配置信息。
添加参数notebook.interpreters.presto.options,参数值如下。
{"url": "jdbc:presto://<hostname>:7778/hive/default?SSL=true&SSLKeyStorePath=/etc/ecm/presto-conf/keystore&SSLKeyStorePassword=<keystore_pwd>", "driver": "com.facebook.presto.jdbc.PrestoDriver", "has_impersonation": true}
参数值中涉及的需要替换的参数如下表。
参数
描述
hostname
在PrestoMaster所在节点上执行
hostname
命令查看。hostname的形式为emr-header-1.cluster-xxx。
keystore_pwd
在E-MapReduce控制台集群管理页面,选择keystore_password获取到对应的配置信息。
,单击配置页签,搜索说明如果您在Presto配置页面无法搜索到keystore_password参数,您可以通过SSH登录集群的Header节点,执行
sed -n 's/http-server.https.keystore.key=\([^;]*\)/\1/p' /etc/ecm/presto-conf/config.properties
命令获取密码,登录集群信息请参见登录集群。在Hue中使用Presto时,需要填写正确的LDAP的用户名和密码,才能成功执行SQL语句。
配置信息添加完成后,单击确定。
保存配置。
单击右上角的保存。
在确认修改区域,填写执行原因,并开启自动更新配置。
单击确定。
重启Hue。
单击查看操作历史,等待Configure HUE任务执行完成。
配置任务完成后,选择 。
在执行集群操作对话框,填写执行原因,单击确定。
在确认对话框,单击确定。
重启Hue成功后,您就可以在Hue中访问开启LDAP认证的引擎了。