クラスター構成を管理する
Note
Azure HDInsight on AKS は 2025 年 1 月 31 日に廃止されます。 2025 年 1 月 31 日より前に、ワークロードを Microsoft Fabric または同等の Azure 製品に移行することで、ワークロードの突然の終了を回避する必要があります。 サブスクリプション上に残っているクラスターは停止され、ホストから削除されることになります。
提供終了日まで基本サポートのみ利用できます。
重要
現在、この機能はプレビュー段階にあります。 ベータ版、プレビュー版、または一般提供としてまだリリースされていない Azure の機能に適用されるその他の法律条項については、「Microsoft Azure プレビューの追加の使用条件」に記載されています。 この特定のプレビューについては、「Microsoft HDInsight on AKS のプレビュー情報」を参照してください。 質問や機能の提案については、詳細を記載した要求を AskHDInsight で送信してください。また、その他の更新情報については、Azure HDInsight コミュニティをフォローしてください。
HDInsight on AKS を使用すると、構成プロパティを調整して、特定の設定によってクラスターのパフォーマンスを向上させることができます。 たとえば、使用量やメモリの設定などを行います。 次のアクションを実行できます。
- 既存の構成を更新するか、新しい構成を追加します。
- REST API を使用して構成をエクスポートします。
構成をカスタマイズする
次のオプションを使用して構成をカスタマイズできます。
Azure portal を使用
Azure ポータルにサインインします。
Azure portal の検索バーに「HDInsight on AKS クラスター」と入力し、ドロップダウン リストから [Azure HDInsight on AKS クラスター] を選択します。
リスト ページからクラスター名を選択します。
左側のメニューの [構成管理] ブレードに移動します。
クラスターの種類に応じて、構成ファイルが一覧表示されます。 詳細については、Trino、Flink、Spark の構成に関する記事を参照してください。
変更する構成の新しいキーと値のペアを追加するか、既存のキーと値のペアを更新します。
[OK] を選択してから [保存] をクリックします。
Note
一部の構成変更では、変更を反映するためにサービスの再起動が必要になる場合があります。
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 portal の右上にある次のボタンをクリックして、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
Note
リソース ID と最新の API バージョンは、Azure portal 内のクラスターの "JSON ビュー" から取得できます。
次のコマンドを実行して GET 要求を送信します。
Invoke-RestMethod -Uri $restUri -Method Get -Headers $authHeader | ConvertTo-Json -Depth 10