クラスター構成を管理する

重要

現在、この機能はプレビュー段階にあります。 ベータ版、プレビュー版、または一般提供としてまだリリースされていない Azure の機能に適用されるその他の法律条項については、「Microsoft Azure プレビューの追加の使用条件」に記載されています。 この特定のプレビューについては、Azure HDInsight on AKS のプレビュー情報に関する記事を参照してください。 質問や機能の提案については、詳細を記載した要求を AskHDInsight で送信してください。また、その他の更新情報については、Azure HDInsight コミュニティをフォローしてください。

HDInsight on AKS を使用すると、構成プロパティを調整して、特定の設定によってクラスターのパフォーマンスを向上させることができます。 たとえば、使用量やメモリの設定などを行います。 次のアクションを実行できます。

  • 既存の構成を更新するか、新しい構成を追加します。
  • REST API を使用して構成をエクスポートします。

構成をカスタマイズする

次のオプションを使用して構成をカスタマイズできます。

Azure portal を使用

  1. Azure ポータルにサインインします。

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

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

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

    一覧から必要な HDInsight on AKS クラスターを選ぶ方法を示すスクリーンショット。

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

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

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

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

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

Note

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

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

  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

    Note

    リソース ID と最新の API バージョンは、Azure portal 内のクラスターの "JSON ビュー" から取得できます。

    [コストの表示]、[JSON ビュー] の各ボタンのスクリーンショット。

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

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