管理叢集設定
重要
AKS 上的 Azure HDInsight 於 2025 年 1 月 31 日淘汰。 透過此公告 深入瞭解。
您必須將工作負載移轉至 Microsoft Fabric 或對等 Azure 產品,以避免突然終止工作負載。
重要
這項功能目前為預覽狀態。 Microsoft Azure 預覽版的補充使用規定 包含適用於 Beta 版、預覽版或尚未正式發行之 Azure 功能的更合法條款。 如需此特定預覽的相關信息,請參閱 AKS 預覽資訊上的 Azure HDInsight。 若您有問題或建議新功能,請在 AskHDInsight 提交要求,並請跟隨我們以獲得 Azure HDInsight 社群的更多更新。
AKS 上的 HDInsight 可讓您調整組態屬性,以使用特定設定來改善叢集的效能。 例如,使用量或記憶體設定。 您可以執行下列動作:
- 更新現有的組態或新增組態。
- 使用 REST API 匯出組態。
自定義組態
您可以使用下列選項自訂群組態:
- 使用 Azure 入口網站
- 使用ARM範本
使用 Azure 入口網站
在 Azure 入口網站搜尋列中,輸入 「AKS 叢集上的 HDInsight」,然後從下拉式清單中選取 [AKS 叢集上的 Azure HDInsight]。
從清單頁面選取您的叢集名稱。
前往左側功能表中的 [組態管理] 面板。
對於您想要修改的設定,新增或更新現有的鍵值對。
選取 確定,然後點擊 儲存。
注意
某些設定變更可能需要重新啟動服務,才能反映變更。
使用ARM範本
先決條件
- 您的叢集的ARM範本。
- 熟悉 ARM 範本撰寫和部署。
在 ARM 範本中,您可以編輯 serviceConfigsProfiles,並使用您想要覆寫的值來指定 OSS 組態檔名稱。
如果 OSS 組態檔為 JSON/XML/YAML 格式,您可以透過 fileName
提供 OSS 組態檔名稱。 提供您要在「values」中覆寫的鍵值對。
以下是每個工作負載的一些範例:
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變數設定為 [取得要求 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 檢視」取得資源 ID 和 up-to-date api-version。
執行下列命令以傳送 GET 要求。
Invoke-RestMethod -Uri $restUri -Method Get -Headers $authHeader | ConvertTo-Json -Depth 10