如何在AWS EMR上的Spark-Thrift服务器上配置LDAP?

时间:2018-02-13 21:41:09

标签: apache-spark spark-thriftserver

请注意,我们不是在讨论hiveserver2或hive-thrift服务器。 如果有人有这方面的经验,我想在spark-thrift服务器上配置LDAP auth。我使用AWS EMR作为我的集群。 我可以使用它启动服务器和查询,但没有任何用户名或密码。甚至不确定指定身份验证相关属性的位置。关于这些东西的文档很少。

期待听到任何有此经验的人的发言。

1 个答案:

答案 0 :(得分:1)

  1. 将hive-site.xml从〜/ hive / conf目录复制到〜/ spark / conf /目录。

  2. 您需要配置出口规则以允许您的EMR群集连接到您的LDAP服务器/ IP /端口。

  3. 根据hiveserver2的官方文档: https://cwiki.apache.org/confluence/display/Hive/Setting+Up+HiveServer2

    为LDAP模式设置以下内容: hive.server2.authentication.ldap.url - LDAP URL(例如,ldap://hostname.com:389)。 hive.server2.authentication.ldap.baseDN - LDAP基本DN。 (AD可选。) hive.server2.authentication.ldap.Domain - LDAP域。 (Hive 0.12.0及更高版本。) 有关HiveServer2中的LDAP Atn Provider的用户和组过滤器支持,请参阅Hive 1.3.0及更高版本中的其他LDAP配置参数。

    hive-site.xml - 更改:

      <property>
        <name>hive.server2.authentication</name>
        <value>LDAP</value>
        <description>
          Expects one of [nosasl, none, ldap, kerberos, pam, custom].
          Client authentication types.
            NONE: no authentication check
            LDAP: LDAP/AD based authentication
            KERBEROS: Kerberos/GSSAPI authentication
            CUSTOM: Custom authentication provider
                    (Use with property hive.server2.custom.authentication.class)
            PAM: Pluggable authentication module
            NOSASL:  Raw transport
        </description>
      <property>
        <name>hive.server2.authentication.ldap.url</name>
        <value>ldaps://changemetoyour.ldap.url:5000</value>
        <description>
          LDAP connection URL(s),
          this value could contain URLs to mutiple LDAP servers instances for HA,
          each LDAP URL is separated by a SPACE character. URLs are used in the
           order specified until a connection is successful.
        </description>
      </property>
      <property>
        <name>hive.server2.authentication.ldap.baseDN</name>
        <value>changeme.mydomain.com</value>
        <description>LDAP base DN</description>
      </property>
      <property>
        <name>hive.server2.authentication.ldap.Domain</name>
        <value/>
        <description/>
      </property>
      <property>
        <name>hive.server2.authentication.ldap.groupDNPattern</name>
        <value/>
        <description>
          COLON-separated list of patterns to use to find DNs for group entities in this directory.
          Use %s where the actual group name is to be substituted for.
          For example: CN=%s,CN=Groups,DC=subdomain,DC=domain,DC=com.
        </description>
      </property>