分享方式:


使用各樣檔案

注意

AKS 上的 Azure HDInsight 將於 2025 年 1 月 31 日退場。 請於 2025 年 1 月 31 日之前,將工作負載移轉至 Microsoft Fabric 或對等的 Azure 產品,以免工作負載突然終止。 訂用帳戶中剩餘的叢集將會停止,並會從主機移除。

在淘汰日期之前,只有基本支援可用。

重要

此功能目前為預覽功能。 Microsoft Azure 預覽版增補使用規定包含適用於 Azure 功能 (搶鮮版 (Beta)、預覽版,或尚未正式發行的版本) 的更多法律條款。 若需此特定預覽版的相關資訊,請參閱 Azure HDInsight on AKS 預覽版資訊。 如有問題或功能建議,請在 AskHDInsight 上提交要求並附上詳細資料,並且在 Azure HDInsight 社群上追蹤我們以獲得更多更新資訊。

本文提供如何指定及使用各樣檔案設定的詳細資料。

您可以使用 ARM 範本新增在叢集中使用各樣檔案的設定。 如需更廣泛的範例,請參考服務設定

必要條件

新增各樣檔案

每個位於 ARM 範本 clusterProfile.serviceConfigsProfiles 下之 miscfiles 元件中的檔案規格都需要:

  • fileName:檔案的符號名稱要作為其他設定中的參考。 此名稱不是實體檔案名稱。 若要在其他設定中使用指定的各樣檔案,請指定 ${MISC:\<fileName\>} 並且 AKS 上的 HDInsight 會在執行階段使用真實檔案路徑替換此標籤,而所提供的值必須滿足以下條件:

    • 包含不超過 253 個字元
    • 只包含小寫英數字元、-.
    • 以英數字元開頭和結尾
  • path:包含檔案名稱和副檔名的相對檔案路徑 (如果適用)。 在 AKS 上具有 HDInsight 的 Trino 僅保證每個指定的各樣檔案相對於其他各樣檔案的位置,也就是說基底目錄可能會變更。。 您無法假設關於各樣檔案之絕對路徑的任何內容,除非它以 [路徑] 屬性中指定的值做作結尾。

  • content:具有檔案內容的 JSON 逸出字串。 內容的格式是特定於某些 Trino 功能並且可能會有所不同,例如 json 是適用於資源群組

注意

設定錯誤可能會阻止 Trino 叢集啟動。 新增設定時請小心。

下列範例示範

  • 新增樣本資源群組 json 並設定協調器以加以使用。
"serviceConfigsProfiles": [
    {
        "serviceName": "trino",
        "configs": [
            {
                "component": "common",
                "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 範本