全部產品
Search
文件中心

E-MapReduce:為Spark Thrift Server配置並啟用LDAP認證

更新時間:Jul 05, 2025

通過啟用LDAP認證,可以增強Spark Thrift Server的安全性,確保只有提供正確的使用者名稱和密碼後,用戶端才能成功串連到Thrift Server並執行SQL查詢,有效防止未授權訪問敏感性資料和功能的風險。

使用限制

僅Serverless Spark以下引擎版本支援本文操作:

  • esr-4.x:esr-4.2.0及之後版本。

  • esr-3.x:esr-3.0.1及之後版本。

  • esr-2.x:esr-2.4.1及之後版本。

前提條件

操作流程

一、網路準備

在開始配置之前,必須先設定好網路,確保Serverless Spark可以與您的虛擬私人雲端(VPC)之間網路互連,使得Thrift Server能夠順利串連到LDAP服務進行認證。具體操作,請參見EMR Serverless Spark與其他VPC間網路互連

二、配置Spark Thrift Server啟動參數

對於希望開啟LDAP認證功能的Spark Thrift Server會話,需首先停止該會話。在網路連接下拉式清單中選擇已建立的串連名稱,在Spark配置中添加以下配置項。編輯完成後,請務必重新啟動會話,以確保所做更改生效。

spark.hive.server2.authentication              LDAP
spark.hive.server2.authentication.ldap.url     ldap://<ldap_url>:<ldap_port>
spark.hive.server2.authentication.ldap.baseDN  <ldap_base_dn>

參數說明如下,其中部分參數請根據您的實際情況替換:

  • <ldap_url><ldap_port>:LDAP伺服器的URL和連接埠。如果您串連的是阿里雲EMR on ECS叢集的OpenLDAP服務,<ldap_url>可填寫Master節點的內網IP地址,<ldap_port>為10389。

    說明

    如果LDAP是高可用服務,則多個LDAP串連地址之間需要用空格進行分隔,例如ldap://<ldap_url_1>:<ldap_port> ldap://<ldap_url_2>:<ldap_port>

  • <ldap_base_dn>:需要填寫用於LDAP服務認證的基礎dn。如果您串連的是阿里雲EMR on ECS叢集的OpenLDAP服務,可填寫為ou=people,o=emr

三、串連開啟LDAP認證的Spark Thrift Server

為您提供了兩種常用的串連方法。串連Spark Thrift Server前,請根據您的實際情況替換以下資訊:

  • <endpoint>:您在總覽頁簽擷取的Endpoint(外網)Endpoint(內網)資訊。

    如果使用內網Endpoint,訪問Spark Thrift Server僅限於同一 VPC內的資源。

  • <token>Token管理頁簽的Token資訊。

  • <port>:連接埠號碼。使用外網網域名稱訪問時連接埠號碼為443,使用內網網域名稱訪問時連接埠號碼為80。

  • <username><password>:用於登入LDAP服務的帳號名稱與密碼。如果您串連的是阿里雲EMR on ECS叢集的OpenLDAP服務,則為您在EMR on ECS的使用者管理頁面添加的使用者名稱和密碼。

方式一:使用Beeline命令列工具

beeline -u 'jdbc:hive2://<endpoint>:<port>/;transportMode=http;httpPath=cliservice/token/<token>' -n <username> -p <password>

方式二:使用JDBC URL

如果您希望通過其他應用程式(如Java程式)或構建完整的JDBC連結字串時,應採用以下格式。

jdbc:hive2://<endpoint>:<port>/;transportMode=http;httpPath=cliservice/token/<token>;user=<username>;password=<password>