本文詳細介紹了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.minExecutors和spark.dynamicAllocation.maxExecutors:限制Executor的最小和最大數量。spark.dynamicAllocation.initialExecutors:初始分配的Executor數量。
支援的增強參數
支援的增強參數是指阿里雲EMR Serverless Spark提供的一些額外功能或擴充配置項,用於增強系統的安全性、靈活性或效能。這些參數通常針對特定情境(如多租戶環境、許可權管理等)設計,協助使用者更好地控制任務行為和資源分派。
參數 | 說明 |
| 用於指定使用者提交Spark任務時的代理使用者(proxy-user)。預設值為 僅當 |
livy.conf
作用
livy.conf檔案是Livy的核心設定檔,用於定義Livy Gateway的全域行為,包括鑒權方式、逾時設定、會話管理等。
關鍵參數
參數 | 說明 |
| 是否允許使用者通過 |
| Session逾時時間,超過時間不活躍的Session 會被自動關閉。預設值為 |
| 是否檢查逾時的Session。預設值為 如果設定為 |
| 檢查逾時Session時是否跳過忙碌的Session。如果跳過,則不會關閉正在執行任務的Session。預設值為 |
| 指定Livy Gateway的鑒權方式。例如,啟用LDAP鑒權時設定為 |
| LDAP的地址。例如, |
| LDAP的基礎DN。例如, |
| 是否開啟LDAP的TLS加密。預設值為 |
| LDAP的安全認證方式。預設值為 |
| 結束的Session在記憶體中的保留時間。預設值為 |
| 同時建立的最大Session數量。預設值為 |
| 支援限制每個使用者使用livy建立的session數量,需要將 |
livy-client.conf
作用
livy-client.conf檔案用於定義Livy HTTP用戶端的運行參數,主要用於最佳化用戶端與Livy Gateway的互動行為。
關鍵參數
參數 | 說明 |
| Session記憶體中保留的最大statement數量。預設值為100。 |
| 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還支援以下增強參數,進一步提升任務的安全性和穩定性。
參數 | 說明 |
| 不允許使用者設定Session的存活時間(TTL)。 確保Session的存活時間由管理員統一管理,避免使用者佈建過長或過短的TTL導致資源浪費或任務中斷。 |
| 不允許使用者設定提交任務的隊列。 所有任務預設採用Livy Gateway的隊列,避免使用者隨意選擇隊列導致資源分派不均。 |
| 不允許使用者設定代理使用者(proxy-user)。預設為root使用者。 |