全部產品
Search
文件中心

E-MapReduce:Livy Gateway配置樣本

更新時間:Nov 22, 2025

本文詳細介紹了Livy的核心設定檔及其參數,協助您在阿里雲EMR Serverless Spark中正確配置Livy Gateway並使用相關功能。

spark-defaults.conf

作用

spark-defaults.conf檔案用於設定通過Livy Gateway提交的Spark任務的預設參數。當使用者建立Livy批處理或Session(會話)時,如果沒有顯式指定某些參數,則會自動使用這些預設值。

樣本配置

以下是一些常見的預設參數配置。

spark.driver.cores 2
spark.driver.memory 7g
spark.dynamicAllocation.enabled true
spark.dynamicAllocation.initialExecutors 2
spark.dynamicAllocation.maxExecutors 100
spark.dynamicAllocation.minExecutors 1

涉及參數描述如下:

  • spark.driver.cores 和 spark.driver.memory:定義Driver的CPU核心數和記憶體大小。

  • 動態資源分派相關參數:

    • spark.dynamicAllocation.enabled=true:啟用動態資源分派。

    • spark.dynamicAllocation.minExecutorsspark.dynamicAllocation.maxExecutors:限制Executor的最小和最大數量。

    • spark.dynamicAllocation.initialExecutors:初始分配的Executor數量。

支援的增強參數

支援的增強參數是指阿里雲EMR Serverless Spark提供的一些額外功能或擴充配置項,用於增強系統的安全性、靈活性或效能。這些參數通常針對特定情境(如多租戶環境、許可權管理等)設計,協助使用者更好地控制任務行為和資源分派。

參數

說明

spark.livy.proxyUser

用於指定使用者提交Spark任務時的代理使用者(proxy-user)。預設值為root

僅當livy.conf中的livy.impersonation.enabled設定為true時有效。配合spark-blacklist.conf可以防止使用者修改proxyUser參數,確保安全性。

livy.conf

作用

livy.conf檔案是Livy的核心設定檔,用於定義Livy Gateway的全域行為,包括鑒權方式、逾時設定、會話管理等。

關鍵參數

參數

說明

livy.impersonation.enabled

是否允許使用者通過proxyUser參數扮演Spark使用者。預設值為false

livy.server.session.timeout

Session逾時時間,超過時間不活躍的Session 會被自動關閉。預設值為2h

livy.server.session.timeout-check

是否檢查逾時的Session。預設值為true

如果設定為false,即使Session逾時也不會被自動關閉。

livy.server.session.timeout-check.skip-busy

檢查逾時Session時是否跳過忙碌的Session。如果跳過,則不會關閉正在執行任務的Session。預設值為true

livy.server.auth.type

指定Livy Gateway的鑒權方式。例如,啟用LDAP鑒權時設定為ldap

livy.server.auth.ldap.url

LDAP的地址。例如,ldap://master-1-1.c-xxxxxxxxxxxxx.cn-hangzhou.emr.aliyuncs.com:10389

livy.server.auth.ldap.base-dn

LDAP的基礎DN。例如,ou=people,o=emr

livy.server.auth.ldap.enable-start-tls

是否開啟LDAP的TLS加密。預設值為false

livy.server.auth.ldap.security-authentication

LDAP的安全認證方式。預設值為simple

livy.server.session.state-retain.sec

結束的Session在記憶體中的保留時間。預設值為600s

livy.server.session.max-creation

同時建立的最大Session數量。預設值為100

livy.server.session.user.max-creation

支援限制每個使用者使用livy建立的session數量,需要將livy.impersonation.enabled設定為true。例如,livy.server.session.user.max-creation {"alice": 6, "bob": 2, "default": 5}表示 Alice 最多可以同時建立 6 個會話,Bob 最多可以建立 2 個,而其他使用者最多可以建立 5 個會話。

livy-client.conf

作用

livy-client.conf檔案用於定義Livy HTTP用戶端的運行參數,主要用於最佳化用戶端與Livy Gateway的互動行為。

關鍵參數

參數

說明

livy.rsc.retained-statements

Session記憶體中保留的最大statement數量。預設值為100。

livy.rsc.sql.num-rows

SQL解譯器返回的最大行數。預設值為1000。

spark-blacklist.conf

作用

spark-blacklist.conf檔案用於限制使用者通過Livy Gateway提交的任務中不允許覆蓋的參數。被列入黑名單的參數將被系統強制忽略,使用者無法修改這些參數。

樣本配置

以下是一些常見的黑名單參數樣本。

spark.driver.cores
spark.driver.memory
spark.executor.cores
spark.executor.memory

該配置表示使用者無法自行設定Spark Driver和Executor的資源(如CPU核心數和記憶體大小),從而防止資源濫用。

支援的增強參數

spark-blacklist.conf還支援以下增強參數,進一步提升任務的安全性和穩定性。

參數

說明

spark.livy.ttl

不允許使用者設定Session的存活時間(TTL)。

確保Session的存活時間由管理員統一管理,避免使用者佈建過長或過短的TTL導致資源浪費或任務中斷。

spark.livy.queue

不允許使用者設定提交任務的隊列。

所有任務預設採用Livy Gateway的隊列,避免使用者隨意選擇隊列導致資源分派不均。

spark.livy.proxyUser

不允許使用者設定代理使用者(proxy-user)。預設為root使用者。