次の方法で共有


クラスター構成の管理

大事な

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 の使用

  1. Azure portal にサインインします。

  2. Azure portal の検索バーに「AKS クラスター上の HDInsight」と入力し、ドロップダウン リストから [AKS クラスター上の Azure HDInsight] を選択します。

    AKS クラスターでの HDInsight の使用を開始するための検索オプションを示すスクリーンショット。

  3. リスト ページからクラスター名を選択します。

    一覧から必要な AKS クラスター上の HDInsight の選択を示すスクリーンショット。

  4. 左側のメニューの [構成管理] ブレードに移動します。

    [構成管理] タブを示すスクリーンショット。

  5. クラスターの種類に応じて、構成ファイルが一覧表示されます。 詳細については、TrinoFlink、および Spark の構成を参照してください。

  6. 変更する構成の新しいキーと値のペアを追加するか、既存のキーと値のペアを更新します。

  7. 「OK」 を選択してから「保存」をクリックします。

手記

一部の構成変更では、変更を反映するためにサービスの再起動が必要になる場合があります。

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 呼び出しを送信する方法に慣れていない場合は、次の手順が役立ちます。

  1. Azure portal の右上にある次のボタンをクリックして、Azure Cloud Shell を起動します。

    Cloud Shell アイコンを示すスクリーンショット。

  2. 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
    }
    
  3. $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 ビュー" から取得できます。

    スクリーンショットビューのコスト JSON ビューボタン。

  4. 次のコマンドを実行して GET 要求を送信します。

    Invoke-RestMethod -Uri $restUri -Method Get -Headers $authHeader | ConvertTo-Json -Depth 10