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 つの方法で追加または更新できます。
- Azure portal を使用する
- ARM テンプレートの使用
手記
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
構成を変更するには、次の手順に従います。
Azure portalにサインインします。
Azure portal の検索バーに「AKS クラスター上の HDInsight」と入力し、ドロップダウン リストから [AKS クラスター上の Azure HDInsight] を選択します。
リスト ページからクラスター名を選択します。
[構成管理] ブレードに移動します。
変更する構成の新しいキー値ペアを追加するか、既存のキー値ペアを更新します。 たとえば、config.properties -> カスタム構成 -> [追加] をクリックして新しい構成設定を追加し、[OK] をクリックします。
[保存] をクリックして構成を保存します。
ARM テンプレートの使用
前提 条件
- AKS 上の HDInsight を使用した運用 Trino クラスター。
- クラスター用の ARM テンプレート を作成します。
- ARMテンプレートクラスター全体のサンプルを確認します。
- 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>,…]
},
]
}
]
さまざまな構成の側面を制御するコンポーネントがいくつかあります。
コンポーネント名 | 各ファイル スペックの必須/許可プロパティ | 説明 |
---|---|---|
コモン |
filename 、values |
コーディネーターとワーカーの両方の構成ファイルが含まれています。 |
コーディネーター |
filename 、values |
コーディネーター専用の構成ファイルが含まれています。存在する場合、共通の構成ファイルを上書きします。 |
勤労者 |
filename 、values |
ワーカー用の構成ファイルのみを含み、もし存在する場合は、共通設定を上書きします。 |
miscfiles |
filename 、content |
クラスター全体に対してユーザーによって提供されるその他の構成ファイルが含まれます。 |
カタログ |
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 テンプレート デプロイする方法について説明します。