全部產品
Search
文件中心

E-MapReduce:使用LDAP認證

更新時間:Aug 14, 2025

服務開啟LDAP認證功能後,訪問服務需要提供LDAP身份認證(LDAP使用者名稱和密碼),可以提升服務的安全性。開啟LDAP認證的功能可以方便您使用LDAP認證,避免了複雜的配置過程。

前提條件

已建立DataLake或自訂叢集,且選擇了Hive和OpenLDAP服務,詳情請參見建立叢集

一鍵配置LDAP認證

  1. 添加EMR使用者,詳情請參見添加使用者

  2. 進入叢集服務頁面。

    1. 登入E-MapReduce控制台

    2. 在左側導覽列,單擊EMR on ECS

    3. 在頂部功能表列處,根據實際情況選擇地區和資源群組

    4. EMR on ECS頁面,單擊目的地組群操作列的叢集服務

  3. 開啟LDAP認證。

    1. 叢集服務頁面,單擊Hive服務地區的狀態

    2. 開啟enableLDAP開關。

      • EMR-5.11.1及之後版本,EMR-3.45.1及之後版本

        1. 服務概述地區,開啟enableLDAP開關。

        2. 在彈出的對話方塊中,單擊确定

      • EMR-5.11.0及之前版本,EMR-3.45.0及之前版本

        1. 组件列表地區,選擇HiveServer操作列的more > enableLDAP

        2. 在彈出的對話方塊中,輸入执行原因,單擊确定

        3. 確認對話方塊中,單擊确定

    3. 重啟HiveServer。

      1. 組件列表地區,單擊HiveServer操作列的重啟

      2. 在彈出的對話方塊中,輸入執行原因,單擊確定

      3. 確認對話方塊中,單擊確定

  4. 串連HiveServer。

    開啟LDAP認證後,當您串連HiveServer時需要提供LDAP認證憑據。

    1. 通過SSH方式串連叢集,請參見登入叢集

    2. 執行以下命令,串連HiveServer。

      • Beeline用戶端:

        beeline -u jdbc:hive2://master-1-1:10000 -n <user> -p <password>
      • JDBC:

        jdbc:hive2://master-1-1:10000/default;user=<user>;password=<password>
      說明

      <user>為LDAP的使用者名稱,<password>為LDAP的密碼,即您在步驟1添加的使用者名稱和密碼。

手動設定LDAP認證

EMR控制台提供了enableLDAP按鈕,可以一鍵開啟LDAP認證功能。如果您的EMR版本較低,或者需要對接自建的LDAP服務,則只能使用手動設定的方式來啟用HiveServer2的LDAP認證。

需要您在EMR控制台Hive服務的配置頁面,在hiveserver2-site.xml頁簽,添加以下配置項。添加配置項的具體操作,請參見管理配置項

配置項

參考值

說明

hive.server2.authentication

LDAP

用於指定Hive Server2的認證方式。

hive.server2.authentication.ldap.url

ldap://{ldap_hostname}:{port}

例如:ldap://master-1-1:10389

用於指定串連LDAP服務的URL。需要根據實際情況進行配置。

  • {ldap_hostname}:LDAP服務的主機名稱或IP地址。如果對接EMR叢集的LDAP服務,通常為emr-header-1。

  • {port}:LDAP服務的連接埠,EMR叢集的LDAP服務連接埠為10389,自建LDAP服務請根據實際情況填寫。

hive.server2.authentication.ldap.baseDN

ou=people,o=emr

用於指定LDAP服務中使用者所在的Base DN,EMR叢集的LDAP為ou=people,o=emr,自建LDAP服務請根據實際情況填寫。

指定使用者訪問Hive

如果您的叢集中的Hive服務已啟用LDAP認證,您可以添加和修改以下配置,以實現指定使用者對Hive服務的訪問。

配置設定

  1. 需要您在EMR控制台Hive服務的配置頁面,在hiveserver2-site.xml頁簽,新增和修改以下配置項。

    配置項

    配置值樣本

    配置類型

    說明

    hive.server2.authentication.ldap.userDNPattern

    uid=%s,ou=people,o=emr

    新增

    使用者DN模式,定義使用者在LDAP中的尋找路徑。%s會被實際使用者名稱替換。

    hive.server2.authentication.ldap.groupFilter

    username

    新增

    使用者組過濾器,只有屬於指定組的使用者才能訪問HiveServer2。多個使用者組使用逗號進行分隔。

    hive.server2.authentication.ldap.groupClassKey

    posixGroup

    新增

    LDAP中表示組對象的objectClass屬性值。

    hive.server2.authentication.ldap.groupMembershipKey

    memberUid

    新增

    LDAP組對象中用於儲存成員資訊的屬性名稱。

    hive.server2.authentication.ldap.baseDN

    o=emr

    修改

    LDAP搜尋的基礎DN,原有配置需要修改為適合組過濾的基礎路徑。

  2. 儲存上述新增及修改的配置。

  3. 重啟HiveServer2服務以使配置生效。

串連驗證

開啟LDAP認證並配置相應的使用者後,您在串連HiveServer時需提供該使用者的認證憑據。

  1. 通過SSH方式串連叢集,請參見登入叢集

  2. 執行以下命令,串連HiveServer。

    • Beeline用戶端:

      beeline -u jdbc:hive2://master-1-1:10000 -n <user> -p <password>
    • JDBC:

      jdbc:hive2://master-1-1:10000/default;user=<user>;password=<password>
    說明

    <user>hive.server2.authentication.ldap.groupFilter配置項中配置的使用者,<password>為對應使用者的密碼,即您在步驟1添加的使用者名稱和密碼。

常見問題

開啟LDAP認證的Hive串連報錯如何處理?

  • 問題現象:執行beeline串連Hive,出現以下錯誤資訊。

    image

  • 問題原因:beeline串連命令中的使用者未通過LDAP認證。

  • 解決方案:將目前使用者添加至hiveserver2-site.xml設定檔中的hive.server2.authentication.ldap.groupFilter配置項,或通過hiveserver2-site.xml設定檔的 hive.server2.authentication.ldap.groupFilter配置項中的使用者串連到Hive。