Freigeben über


Trino-Konfigurationsverwaltung

Hinweis

Azure HDInsight on AKS wird am 31. Januar 2025 eingestellt. Vor dem 31. Januar 2025 müssen Sie Ihre Workloads zu Microsoft Fabric oder einem gleichwertigen Azure-Produkt migrieren, um eine abruptes Beendigung Ihrer Workloads zu vermeiden. Die verbleibenden Cluster in Ihrem Abonnement werden beendet und vom Host entfernt.

Bis zum Einstellungsdatum ist nur grundlegende Unterstützung verfügbar.

Wichtig

Diese Funktion steht derzeit als Vorschau zur Verfügung. Die zusätzlichen Nutzungsbedingungen für Microsoft Azure-Vorschauen enthalten weitere rechtliche Bestimmungen, die für Azure-Features in Betaversionen, in Vorschauversionen oder anderen Versionen gelten, die noch nicht allgemein verfügbar gemacht wurden. Informationen zu dieser spezifischen Vorschau finden Sie unter Informationen zur Vorschau von Azure HDInsight on AKS. Bei Fragen oder Funktionsvorschlägen senden Sie eine Anfrage an AskHDInsight mit den entsprechenden Details, und folgen Sie uns für weitere Updates in der Azure HDInsight-Community.

Trino-Cluster mit HDInsight on AKS enthalten den Großteil der Standardkonfigurationen von Open-Source-Trino. In diesem Artikel wird beschrieben, wie Sie Konfigurationsdateien aktualisieren und dem Cluster eigene zusätzliche Konfigurationsdateien hinzufügen.

Zum Hinzufügen bzw. Aktualisieren der Konfigurationen stehen Ihnen zwei Möglichkeiten zur Auswahl:

Hinweis

Trino mit HDInsight on AKS erzwingt bestimmte Konfigurationen und untersagt Änderungen einiger Dateien und/oder Eigenschaften. Dies dient dazu, über die Konfiguration eine angemessene Sicherheit/Konnektivität sicherzustellen. Im Folgenden finden Sie einige Beispiele für Dateien und Eigenschaften, bei denen keine Änderungen zulässig sind (dies ist keine vollständige Liste):

  • Datei „jvm.config“ mit Ausnahme der Einstellungen für die Heapgröße
  • Node.properties: „node.id“, „node.data-dir“, „log.path“ usw.
  • Config.properties: http-server.authentication.*, http-server.https.* etc.

Über das Azure-Portal

Im Azure-Portal können Sie drei Sätze standardmäßiger Trino-Konfigurationen ändern:

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

Führen Sie die folgenden Schritte aus, um die Konfigurationen zu ändern:

  1. Melden Sie sich beim Azure-Portal an.

  2. Geben Sie in die Suchleiste des Azure-Portals den Suchbegriff „HDInsight on AKS-Cluster“ ein, und wählen Sie in der Dropdownliste „Azure HDInsight on AKS-Cluster“ aus.

    Screenshot: Suchoption für die ersten Schritte mit einem HDInsight on AKS-Cluster

  3. Wählen Sie auf der Seite mit der Liste den Namen Ihres Clusters aus.

    Screenshot: Auswählen des benötigten HDInsight on AKS-Clusters in der Liste.

  4. Navigieren Sie zum Blatt „Konfigurationsverwaltung“.

    Screenshot: Konfigurationsverwaltung im Azure-Portal.

  5. Fügen Sie neue Schlüssel-Wert-Paare hinzu, oder aktualisieren Sie die vorhandenen Schlüssel-Wert-Paare für die Konfigurationen, die Sie ändern möchten. Wählen Sie beispielsweise „config.properties“ -> „Benutzerdefinierte Konfigurationen“ und dann „Hinzufügen“ aus, um eine neue Konfigurationseinstellung hinzuzufügen, und klicken Sie anschließend auf „OK“.

    Screenshot: benutzerdefinierte Konfiguration.

  6. Wählen Sie „Speichern“ aus, um die Konfigurationen zu speichern.

    Screenshot: Speichern der Konfiguration.

Per ARM-Vorlage

Voraussetzungen

Clusterverwaltung

Alle Trino-Konfigurationen können in serviceConfigsProfiles.serviceName[“trino”] unter properties.clusterProfile angegeben werden.

Das folgende Beispiel konzentriert sich auf coordinator/worker/miscfiles. Informationen zu Katalogen finden Sie unter Hinzufügen von Katalogen zu einem vorhandenen Cluster:

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

Es gibt mehrere Komponenten, die verschiedene Konfigurationsaspekte steuern:

Komponentenname Erforderliche/zulässige Eigenschaften für jede Dateispezifikation Beschreibung
allgemein filename, values Enthält Konfigurationsdateien für Koordinatoren und Worker.
Koordinator filename, values Enthält Konfigurationsdateien nur für Koordinatoren und setzt allgemeine Konfigurationen außer Kraft (sofern vorhanden).
Worker filename, values Enthält Konfigurationsdateien nur für Worker und setzt allgemeine Konfigurationen außer Kraft (sofern vorhanden).
miscfiles filename, content Enthält verschiedene Konfigurationsdateien, die benutzerseitig für den gesamten Cluster bereitgestellt werden.
catalogs filename, entweder Inhalt oder Werte Enthält Katalogdateien für den gesamten Cluster.

Dies wird im folgenden Beispiel veranschaulicht:

  • Außerkraftsetzen des Standardwerts von „node.environment“ für den Cluster (wird in der Trino-Benutzeroberfläche angezeigt)
  • Außerkraftsetzen der Standardwerte von „config.properties“ für Koordinator und Worker
  • Hinzufügen einer JSON-Beispieldatei für Ressourcengruppen und Konfigurieren des Koordinators zur Verwendung dieser Datei
"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\"}"
                    }
                ]
            }
        ]
    }

Stellen Sie die aktualisierte ARM-Vorlage bereit, um die Änderungen in Ihrem Cluster widerzuspiegeln. Erfahren Sie, wie Sie eine ARM-Vorlage bereitstellen.