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