管理叢集設定
重要
此功能目前為預覽功能。 適用於 Microsoft Azure 預覽版的補充使用規定包含適用於 Beta 版、預覽版或尚未發行至正式運作之 Azure 功能的更合法條款。 如需此特定預覽的相關信息,請參閱 AKS 預覽資訊的 Azure HDInsight。 如需問題或功能建議,請在 AskHDInsight 上提交要求,並提供詳細數據,並遵循我們在 Azure HDInsight 社群上取得更多更新。
HDInsight on AKS 可讓您調整設定屬性,以使用特定設定來改善叢集的效能。 例如,使用量或記憶體設定。 您可以執行下列動作:
- 更新現有的組態或新增組態。
- 使用 REST API 匯出組態。
自定義組態
您可以使用下列選項自訂群組態:
使用 Azure 入口網站
登入 Azure 入口網站。
在 Azure 入口網站搜尋列中,輸入「AKS 叢集上的 HDInsight」,然後從下拉式清單中選取 [AKS 叢集上的 Azure HDInsight]。
從清單頁面選取叢集名稱。
移至左側功能表中的 [組態管理] 刀鋒視窗。
針對您想要修改的組態,新增或更新現有的機碼/值組。
選取 [確定],然後按一下 [儲存]。
注意
某些設定變更可能需要重新啟動服務,才能反映變更。
使用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變數設定為 [取得要求 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