Hue作为一个数据开发平台,支持连接各种执行引擎,例如Hive、Spark、Impala和Presto。当这些执行引擎开启LDAP认证后,Hue需要进行相应的配置后才能成功连接。本文介绍如何配置Hue连接开启LDAP认证的执行引擎。

前提条件

已创建E-MapReduce的Hadoop集群,详情请参见创建集群

步骤一:创建LDAP代理认证用户

当执行引擎开启LDAP认证后,Hue访问执行引擎时将会被LDAP认证拦截。您需要创建一个LDAP代理认证用户,Hue使用该用户通过引擎的LDAP认证,并代理登录Hue的用户执行作业。创建Hue代理认证用户的流程如下。

  1. 使用SSH方式登录到集群,具体步骤请参见使用SSH连接主节点
  2. 创建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认证的引擎需要使用。
  3. 创建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,在OpenLDAP服务页面,单击配置页签,搜索manager_password配置,获取到对应的值。

    manager_password_zh

步骤二:配置连接开启LDAP认证的引擎

  1. 进入Hue配置页面。
    1. 登录阿里云E-MapReduce控制台
    2. 在顶部菜单栏处,根据实际情况选择地域和资源组
    3. 单击上方的集群管理页签。
    4. 在左侧导航栏,选择集群服务 > Hue
    5. 在Hue服务页面,单击配置页签。
    6. 服务配置区域,单击hue
  2. 添加Hue自定义配置。
    1. 单击右上角的自定义配置
    2. 新增配置项区域,添加配置信息。请根据具体的执行引擎添加相应的配置信息。
      • 连接开启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控制台集群管理页面,选择集群服务 > Presto,单击配置页签,搜索keystore_password获取到对应的配置信息。
        说明 如果您在Presto配置页面无法搜索到keystore_password参数,您可以通过SSH登录集群的Header节点,执行sed -n 's/http-server.https.keystore.key=\([^;]*\)/\1/p' /etc/ecm/presto-conf/config.properties命令获取密码,登录集群信息请参见使用SSH连接主节点
        在Hue中使用Presto时,需要填写正确的LDAP的用户名和密码,才能成功执行SQL语句。hue-presto
    3. 配置信息添加完成后,单击确定
  3. 保存配置。
    1. 单击右上角的保存
    2. 确认修改区域,填写执行原因,并开启自动更新配置
    3. 单击确定
  4. 重启Hue。
    1. 单击查看操作历史,等待Configure HUE任务执行完成。
    2. 配置任务完成后,选择操作 > 重启Hue
    3. 执行集群操作对话框,填写执行原因,单击确定
    4. 确认对话框,单击确定
    重启Hue成功后,您就可以在Hue中访问开启LDAP认证的引擎了。