Trino 設定管理
注意
AKS 上的 Azure HDInsight 將於 2025 年 1 月 31 日退場。 請於 2025 年 1 月 31 日之前,將工作負載移轉至 Microsoft Fabric 或對等的 Azure 產品,以免工作負載突然終止。 訂用帳戶中剩餘的叢集將會停止,並會從主機移除。
在淘汰日期之前,只有基本支援可用。
重要
此功能目前為預覽功能。 Microsoft Azure 預覽版增補使用規定包含適用於 Azure 功能 (搶鮮版 (Beta)、預覽版,或尚未正式發行的版本) 的更多法律條款。 若需此特定預覽版的相關資訊,請參閱 Azure HDInsight on AKS 預覽版資訊。 如有問題或功能建議,請在 AskHDInsight 上提交要求並附上詳細資料,並且在 Azure HDInsight 社群上追蹤我們以獲得更多更新資訊。
具有 HDInsight on AKS 的 Trino 叢集隨附多數開放原始碼 Trino 的預設設定。 本文描述如何更新設定檔,並將您自己的補充設定檔新增至叢集。
您可以透過兩種方式新增/更新設定:
注意
使用 HDInsight on AKS 的 Trino 會強制執行特定設定,並禁止修改某些檔案和/或屬性。 這樣做是為了確保透過設定的適當安全性/連線能力。 禁止的檔案/屬性的範例包括但不限於:
- jvm.config 檔案,但堆積大小設定例外。
- Node.properties:node.id、node.data-dir、log.path 等。
Config.properties: http-server.authentication.*, http-server.https.* etc.
使用 Azure 入口網站
在 Azure 入口網站中,您可以修改三組標準 Trino 設定:
- log.properties
- config.properties
- node.properties
遵循下列步驟來修改設定:
登入 Azure 入口網站。
在 Azure 入口網站搜尋列中,輸入「AKS 叢集上的 HDInsight」,然後從下拉式清單中選取 [AKS 叢集上的 Azure HDInsight]。
從清單頁面選取您的叢集名稱。
瀏覽至 [設定管理] 刀鋒視窗。
針對您想要修改的設定,新增或更新現有的機碼值組。 例如,config.properties -> [自訂設定] -> 按一下 [新增] 以新增組態設定,然後按一下 [確定]。
按一下 [儲存] 以儲存設定。
使用 ARM 範本
必要條件
- 使用 HDInsight on AKS 的作業 Trino 叢集。
- 為叢集建立 ARM 範本。
- 檢閱完整的叢集 ARM 範本範例。
- 熟悉 ARM 範本製作和部署。
叢集管理
所有 Trino 設定都可以在 properties.clusterProfile
下的 serviceConfigsProfiles.serviceName[“trino”]
中指定。
下列範例著重於 coordinator/worker/miscfiles
。 針對目錄,請參閱將目錄新增至現有的叢集:
"serviceConfigsProfiles": [
{
"serviceName": "trino",
"configs": [
{
"component": "catalogs",
"files": [<file-spec>,…]
},
{
"component": "coordinator",
"files": [<file-spec>,…]
},
{
"component": "worker",
"files": [<file-spec>,…]
},
{
"component": " miscfiles",
"files": [<file-spec>,…]
},
]
}
]
有數個元件可控制不同的設定層面:
元件名稱 | 每個檔案規格的必要/允許的屬性 | 描述 |
---|---|---|
一般 | filename , values |
包含 coordinator 和 worker 的設定檔。 |
coordinator | filename , values |
僅包含 coordinator 的設定檔,覆寫 common (如果存在)。 |
worker | filename , values |
僅包含 workers 的設定檔,覆寫 common (如果存在)。 |
miscfiles |
filename , content |
包含使用者為整個叢集提供的雜項設定檔。 |
catalogs | filename ,內容或值 |
包含整個叢集的 catalog 檔案。 |
下列範例會示範:
- 覆寫叢集的預設 node.environment (顯示在 Trino UI 中)。
- 覆寫 coordinator 和 worker 的預設 config.properties 值。
- 新增範例資源群組 json 並設定 coordinator 以加以使用。
"serviceConfigsProfiles": [
{
"serviceName": "trino",
"configs": [
{
"component": "common",
"files": [
{
"fileName": "node.properties",
"values": {
"node.environment": "preview"
}
},
{
"fileName": "config.properties",
"values": {
"join-distribution-type": "AUTOMATIC",
"query.max-execution-time": "5d",
"shutdown.grace-period": "5m"
}
}
]
},
{
"component": "coordinator",
"files": [
{
"fileName": "resource-groups.properties",
"values": {
"resource-groups.configuration-manager": "file",
"resource-groups.config-file": "${MISC:resource-groups}"
}
}
]
},
{
"component": "miscfiles",
"files": [
{
"fileName": "resource-groups",
"path": "/customDir/resource-groups.json",
"content": "{\"rootGroups\":[{\"name\":\"global\",\"softMemoryLimit\":\"80%\",\"hardConcurrencyLimit\":100,\"maxQueued\":1000,\"schedulingPolicy\":\"weighted\",\"jmxExport\":true,\"subGroups\":[{\"name\":\"data_definition\",\"softMemoryLimit\":\"10%\",\"hardConcurrencyLimit\":5,\"maxQueued\":100,\"schedulingWeight\":1},{\"name\":\"adhoc\",\"softMemoryLimit\":\"10%\",\"hardConcurrencyLimit\":50,\"maxQueued\":1,\"schedulingWeight\":10,\"subGroups\":[{\"name\":\"other\",\"softMemoryLimit\":\"10%\",\"hardConcurrencyLimit\":2,\"maxQueued\":1,\"schedulingWeight\":10,\"schedulingPolicy\":\"weighted_fair\",\"subGroups\":[{\"name\":\"${USER}\",\"softMemoryLimit\":\"10%\",\"hardConcurrencyLimit\":1,\"maxQueued\":100}]}]}]},{\"name\":\"admin\",\"softMemoryLimit\":\"100%\",\"hardConcurrencyLimit\":50,\"maxQueued\":100,\"schedulingPolicy\":\"query_priority\",\"jmxExport\":true}],\"selectors\":[{\"group\":\"global.adhoc.other.${USER}\"}],\"cpuQuotaPeriod\":\"1h\"}"
}
]
}
]
}
部署更新的 ARM 範本以反映叢集中的變更。 了解如何部署 ARM 範本。