次の方法で共有


Trino 構成管理

大事な

AKS 上の Azure HDInsight は、2025 年 1 月 31 日に廃止されました。 このアナウンスメント を通じてについてさらに学びましょう。

ワークロードの突然の終了を回避するには、ワークロードを Microsoft Fabric または同等の Azure 製品 に移行する必要があります。

大事な

この機能は現在プレビュー段階です。 Microsoft Azure プレビューの 追加使用条件 には、ベータ版、プレビュー版、または一般公開されていない Azure 機能に適用される、より多くの法的条件が含まれています。 この特定のプレビューの詳細については、AKS プレビュー情報 Azure HDInsightを参照してください。 ご質問や機能の提案については、AskHDInsight に詳細を記載した要求を送信してください。また、最新情報については、Azure HDInsight Community をフォローしてください。

AKS 上の HDInsight を使用する Trino クラスターには、オープンソース Trino の既定の構成のほとんどが付属しています。 この記事では、構成ファイルを更新し、独自の補足構成ファイルをクラスターに追加する方法について説明します。

構成は、次の 2 つの方法で追加または更新できます。

手記

AKS 上の HDInsight を使用した Trino では、特定の構成が適用され、一部のファイルやプロパティの変更が禁止されます。 これは、構成による適切なセキュリティ/接続を確保するために行われます。 禁止されているファイル/プロパティの例には、次のものが含まれますが、これらに限定されません。

  • ヒープサイズの設定を除いて、jvm.config ファイルです。
  • Node.properties: node.id、node.data-dir、log.path など。
  • Config.properties: http-server.authentication.*, http-server.https.* etc.

Azure portal の使用

Azure portal では、標準の Trino 構成の 3 つのセット変更できます。

  • log.properties
  • config.properties
  • node.properties

構成を変更するには、次の手順に従います。

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

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

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

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

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

  4. [構成管理] ブレードに移動します。

    Azure portal の構成管理を示すスクリーンショット。

  5. 変更する構成の新しいキー値ペアを追加するか、既存のキー値ペアを更新します。 たとえば、config.properties -> カスタム構成 -> [追加] をクリックして新しい構成設定を追加し、[OK] をクリックします。

    カスタム構成を示すスクリーンショット。

  6. [保存] をクリックして構成を保存します。

    構成を保存する方法を示すスクリーンショット。

ARM テンプレートの使用

前提 条件

クラスター管理

すべての Trino 構成は、properties.clusterProfileの下の serviceConfigsProfiles.serviceName[“trino”] で指定できます。

次の例では、coordinator/worker/miscfilesに焦点を当てています。 カタログについては、「既存のクラスターにカタログを追加する」を参照してください。

"serviceConfigsProfiles": [
    {
        "serviceName": "trino",
        "configs": [
            {
                "component": "catalogs",
                "files": [<file-spec>,…]
            },
            {
                "component": "coordinator",
                "files": [<file-spec>,…]
            },
            {
                "component": "worker",
                "files": [<file-spec>,…]
            },
            {
                "component": " miscfiles",
                "files": [<file-spec>,…]
            },
        ]
    }
]

さまざまな構成の側面を制御するコンポーネントがいくつかあります。

コンポーネント名 各ファイル スペックの必須/許可プロパティ 説明
コモン filenamevalues コーディネーターとワーカーの両方の構成ファイルが含まれています。
コーディネーター filenamevalues コーディネーター専用の構成ファイルが含まれています。存在する場合、共通の構成ファイルを上書きします。
勤労者 filenamevalues ワーカー用の構成ファイルのみを含み、もし存在する場合は、共通設定を上書きします。
miscfiles filenamecontent クラスター全体に対してユーザーによって提供されるその他の構成ファイルが含まれます。
カタログ filename、コンテンツまたは値 クラスター全体のカタログ ファイルが含まれています。

次の例を示します。

  • クラスターの既定の node.environment をオーバーライドします (Trino UI に表示されます)。
  • コーディネーターとワーカーの既定の config.properties 値をオーバーライドします。
  • サンプル リソース グループ の json を追加し、それを使用するようにコーディネーターを構成します。
"serviceConfigsProfiles": [
    {
        "serviceName": "trino",
        "configs": [
            {
                "component": "common",
                "files": [
                    {
                        "fileName": "node.properties",
                        "values": {
                            "node.environment": "preview"
                        }
                    },
                    {
                        "fileName": "config.properties",
                        "values": {
                            "join-distribution-type": "AUTOMATIC",
                            "query.max-execution-time": "5d",
                            "shutdown.grace-period": "5m"
                        }
                    }
                ]                
            },
            {
                "component": "coordinator",
                "files": [
                    {
                        "fileName": "resource-groups.properties",
                        "values": {
                            "resource-groups.configuration-manager": "file",
                            "resource-groups.config-file": "${MISC:resource-groups}"
                        }                                            
                    }
                ]
            },
            {
                "component": "miscfiles",
                "files": [
                    {
                        "fileName": "resource-groups",
                        "path": "/customDir/resource-groups.json",
                        "content": "{\"rootGroups\":[{\"name\":\"global\",\"softMemoryLimit\":\"80%\",\"hardConcurrencyLimit\":100,\"maxQueued\":1000,\"schedulingPolicy\":\"weighted\",\"jmxExport\":true,\"subGroups\":[{\"name\":\"data_definition\",\"softMemoryLimit\":\"10%\",\"hardConcurrencyLimit\":5,\"maxQueued\":100,\"schedulingWeight\":1},{\"name\":\"adhoc\",\"softMemoryLimit\":\"10%\",\"hardConcurrencyLimit\":50,\"maxQueued\":1,\"schedulingWeight\":10,\"subGroups\":[{\"name\":\"other\",\"softMemoryLimit\":\"10%\",\"hardConcurrencyLimit\":2,\"maxQueued\":1,\"schedulingWeight\":10,\"schedulingPolicy\":\"weighted_fair\",\"subGroups\":[{\"name\":\"${USER}\",\"softMemoryLimit\":\"10%\",\"hardConcurrencyLimit\":1,\"maxQueued\":100}]}]}]},{\"name\":\"admin\",\"softMemoryLimit\":\"100%\",\"hardConcurrencyLimit\":50,\"maxQueued\":100,\"schedulingPolicy\":\"query_priority\",\"jmxExport\":true}],\"selectors\":[{\"group\":\"global.adhoc.other.${USER}\"}],\"cpuQuotaPeriod\":\"1h\"}"
                    }
                ]
            }
        ]
    }

更新された ARM テンプレートをデプロイして、クラスター内の変更を反映します。 ARM テンプレート デプロイする方法について説明します。