管理叢集設定
注意
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 可讓您調整設定屬性,以使用特定設定來改善叢集的效能。 例如,使用量或記憶體設定。 您可以執行下列動作:
- 更新現有的組態或新增組態。
- 使用 REST API 匯出組態。
自訂組態
您可以使用下列選項自訂組態:
使用 Azure 入口網站
登入 Azure 入口網站。
在 Azure 入口網站搜尋列中,輸入「AKS 叢集上的 HDInsight」,然後從下拉式清單中選取 [AKS 叢集上的 Azure HDInsight]。
從清單頁面選取您的叢集名稱。
移至左側功能表中的 [組態管理] 刀鋒視窗。
針對您想要修改的組態來新增或更新現有的機碼值組。
選取 [確定],然後按一下 [儲存]。
注意
某些組態變更可能需要重新啟動服務,才能反映變更。
使用 ARM 範本
必要條件
- 適用於您叢集的 ARM 範本。
- 熟悉 ARM 範本製作和部署。
您可以在 ARM 範本中編輯 serviceConfigsProfiles,並使用您想要覆寫的值來指定 OSS 組態檔名稱。
如果 OSS 組態檔為 JSON/XML/YAML 格式,您可以透過 fileName
提供 OSS 組態檔名稱。 提供您要在 [值] 中覆寫的機碼值組。
以下是每個工作負載的一些樣本:
Flink 組態範例:
"serviceConfigsProfiles": [
{
"serviceName": "flink-operator",
"configs": [
{
"component": "flink-configs",
"files": [
{
"fileName": "flink-conf.yaml",
"values": {
"taskmanager.memory.process.size": "4096mb",
"classloader.check-leaked-classloader": "false",
"jobmanager.memory.process.size": "4096mb",
"classloader.parent-first-patterns.additional": "org.apache.parquet"
}
}
]
}
]
}
]
Spark 組態範例:
"serviceConfigsProfiles": [
{
"serviceName": "spark-service",
"configs": [
{
"component": "livy-config",
"files": [
{
"fileName": "livy-client.conf",
"values": {
"livy.client.http.connection.timeout": "11s"
}
}
]
},
{
"component": "spark-config",
"files": [
{
"fileName": "spark-env.sh",
"content": "# - SPARK_HISTORY_OPTS, to set config properties only for the history server (e.g. \"-Dx=y\")\nexport HDP_VERSION=3.3.3.5.2-83515052\n"
}
]
}
]
}
]
Trino 組態範例:
"serviceConfigsProfiles": [
{
"serviceName": "trino",
"configs": [
{
"component": "coordinator",
"files": [
{
"fileName": "config.properties",
"values": {
"query.cache.enabled": "true",
"query.cache.ttl": "1h",
"query.enable-multi-statement-set-session": "true",
"query.max-memory": "301GB"
}
},
{
"fileName": "log.properties",
"values": {
"io.trino": "INFO"
}
}
]
}
]
如需 Trino 組態選項的詳細資訊,請參閱樣本 ARM 範例。
使用 REST API 匯出組態
您也可以匯出叢集組態,以檢查預設值和更新的值。 於此同時,您只能透過 REST API 匯出組態。
取得叢集組態:
GET Request: /subscriptions/{{USER_SUB}}/resourceGroups/{{USER_RG}}/providers/Microsoft.HDInsight/clusterpools/{{CLUSTERPOOL}}/clusters/{{CLUSTERNAME}}/serviceConfigs?api-version={{HDINSIGHTONAKS_API_VERSION}}
如果您不熟悉如何傳送 REST API 呼叫,下列步驟可協助您。
按一下 Azure 入口網站右上方的下列按鈕,以啟動 Azure Cloud Shell。
請於左上方確定 Cloud Shell 已設定為 PowerShell。 執行下列命令以取得權杖並設定 HTTP 要求標頭。
$azContext = Get-AzContext $azProfile = [Microsoft.Azure.Commands.Common.Authentication.Abstractions.AzureRmProfileProvider]::Instance.Profile $profileClient = New-Object -TypeName Microsoft.Azure.Commands.ResourceManager.Common.RMProfileClient -ArgumentList ($azProfile) $token = $profileClient.AcquireAccessToken($azContext.Subscription.TenantId) $authHeader = @{ 'Content-Type'='application/json' 'Authorization'='Bearer ' + $token.AccessToken }
將 $restUri 變數設定為 Get 要求 URL。
$restUri = 'https://management.azure.com/subscriptions/{{USER_SUB}}/resourceGroups/{{USER_RG}}/providers/Microsoft.HDInsight/clusterpools/{{CLUSTERPOOL}}/clusters/{{CLUSTERNAME}}/serviceConfigs?api-version={{HDINSIGHTONAKS_API_VERSION}}'
例如:
$restUri = 'https://management.azure.com/subscriptions/xxx-yyyy-zzz-00000/resourceGroups/contosoRG/providers/Microsoft.HDInsight/clusterpools/contosopool/clusters/contosocluster/serviceConfigs?api-version=2021-09-15-preview
注意
您可以從 Azure 入口網站中叢集的 [JSON 檢視] 取得資源識別碼和最新 API 版本。
執行下列命令以傳送 GET 要求。
Invoke-RestMethod -Uri $restUri -Method Get -Headers $authHeader | ConvertTo-Json -Depth 10