Trino の構成管理
Note
Azure HDInsight on AKS は 2025 年 1 月 31 日に廃止されます。 2025 年 1 月 31 日より前に、ワークロードを Microsoft Fabric または同等の Azure 製品に移行することで、ワークロードの突然の終了を回避する必要があります。 サブスクリプション上に残っているクラスターは停止され、ホストから削除されることになります。
提供終了日までは基本サポートのみが利用できます。
重要
現在、この機能はプレビュー段階にあります。 ベータ版、プレビュー版、または一般提供としてまだリリースされていない Azure の機能に適用されるその他の法律条項については、「Microsoft Azure プレビューの追加の使用条件」に記載されています。 この特定のプレビューについては、「Microsoft HDInsight on AKS のプレビュー情報」を参照してください。 質問や機能の提案については、詳細を記載した要求を AskHDInsight で送信してください。また、その他の更新情報については、Azure HDInsight コミュニティをフォローしてください。
HDInsight on AKS を使用した Trino クラスターには、オープンソース Trino の既定の構成のほとんどが用意されています。 この記事では、構成ファイルを更新し、独自の補足構成ファイルをクラスターに追加する方法について説明します。
構成は、次の 2 つの方法で追加または更新できます。
Note
HDInsight on AKS を使用した 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 ポータルにサインインします。
Azure portal の検索バーに「HDInsight on AKS クラスター」と入力し、ドロップダウン リストから [Azure HDInsight on AKS クラスター] を選択します。
リスト ページからクラスター名を選択します。
[構成管理] ブレードに移動します。
変更する構成の新しいキーと値のペアを追加するか、既存のキーと値のペアを更新します。 たとえば、config.properties -> [カスタム構成] -> [追加] をクリックして新しい構成設定を追加し、[OK] をクリックします。
[保存] をクリックして構成を保存します。
ARM テンプレートの使用
前提条件
- 操作可能な HDInsight on AKS を使用した 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 |
コーディネーターと worker の両方の構成ファイルが含まれています。 |
コーディネーター | filename 、 values |
コーディネーター専用の構成ファイルが含まれており、存在する場合は一般的にオーバーライドされます。 |
worker | filename 、 values |
worker 専用の構成ファイルが含まれており、存在する場合は一般的にオーバーライドされます。 |
miscfiles |
filename 、content |
クラスター全体に対してユーザーによって提供されるその他の構成ファイルが含まれています。 |
catalogs | filename 、コンテンツまたは値 |
クラスター全体のカタログ ファイルが含まれています。 |
その具体的な例を次に示します:
- クラスターの既定の node.environment をオーバーライドします (Trino UI に表示されます)。
- コーディネーターと worker の既定の 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 テンプレートをデプロイする方法を確認してください。