Trino-konfigurationshantering

Viktigt!

Den här funktionen finns i förhandsgranskning. De kompletterande användningsvillkoren för Förhandsversioner av Microsoft Azure innehåller fler juridiska villkor som gäller för Azure-funktioner som är i betaversion, förhandsversion eller på annat sätt ännu inte har släppts i allmän tillgänglighet. Information om den här specifika förhandsversionen finns i Azure HDInsight på AKS-förhandsversionsinformation. Om du vill ha frågor eller funktionsförslag skickar du en begäran på AskHDInsight med informationen och följer oss för fler uppdateringar i Azure HDInsight Community.

Trino-kluster med HDInsight på AKS levereras med de flesta standardkonfigurationerna för Trino med öppen källkod. Den här artikeln beskriver hur du uppdaterar konfigurationsfiler och lägger till dina egna kompletterande konfigurationsfiler i klustret.

Du kan lägga till/uppdatera konfigurationerna på två sätt:

Kommentar

Trino med HDInsight på AKS framtvingar vissa konfigurationer och förbjuder ändring av vissa filer och/eller egenskaper. Detta görs för att säkerställa korrekt säkerhet/anslutning via konfiguration. Exempel på förbjudna filer/egenskaper omfattar, men är inte begränsat till:

  • jvm.config-fil med undantag för inställningar för Heap-storlek.
  • Node.properties: node.id, node.data-dir, log.path osv.
  • Config.properties: http-server.authentication.*, http-server.https.* etc.

Med Azure Portal

I Azure-portalen kan du ändra tre uppsättningar med Trino-standardkonfigurationer:

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

Följ stegen för att ändra konfigurationerna:

  1. Logga in på Azure-portalen.

  2. I sökfältet i Azure-portalen skriver du "HDInsight på AKS-kluster" och väljer "Azure HDInsight på AKS-kluster" i listrutan.

    Skärmbild som visar sökalternativet för att komma igång med HDInsight i AKS-kluster.

  3. Välj klusternamnet på listsidan.

    Skärmbild som visar hur du väljer DEN HDInsight på AKS-kluster som du behöver i listan.

  4. Gå till bladet Konfigurationshantering.

    Skärmbild som visar konfigurationshantering i Azure-portalen.

  5. Lägg till nya eller uppdatera de befintliga nyckelvärdeparen för de konfigurationer som du vill ändra. Till exempel config.properties –> Anpassade konfigurationer –> klicka på "Lägg till" för att lägga till ny konfigurationsinställning och klicka sedan på Ok.

    Skärmbild som visar anpassad konfiguration.

  6. Klicka på Spara för att spara konfigurationerna.

    Skärmbild som visar hur du sparar konfigurationen.

Använda ARM-mall

Förutsättningar

Klusterhantering

Alla Trino-konfigurationer kan anges under serviceConfigsProfiles.serviceName[“trino”]properties.clusterProfile.

Följande exempel fokuserar på coordinator/worker/miscfiles. Kataloger finns i Lägga till kataloger i ett befintligt kluster:

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

Det finns flera komponenter som styr olika konfigurationsaspekter:

Komponentnamn Obligatoriska/tillåtna egenskaper för varje filspecifikation beskrivning
gemensam filename, values Innehåller konfigurationsfiler för både koordinator och arbetare.
Samordnare filename, values Innehåller endast konfigurationsfiler för koordinatorer, åsidosätter vanliga om de finns.
Arbetare filename, values Innehåller endast konfigurationsfiler för arbetare, åsidosättningar som är vanliga om de finns.
miscfiles filename, content Innehåller diverse konfigurationsfiler som tillhandahålls av användaren för hela klustret.
Kataloger filename, antingen innehåll eller värden Innehåller katalogfiler för hela klustret.

Följande exempel visar:

  • Åsidosätt standardnod.miljö för kluster (visas i Trino-användargränssnittet).
  • Åsidosätt standardvärdena config.properties för koordinator och arbetare.
  • Lägg till exempelresursgrupper json och konfigurera koordinatorn för att använda den.
"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\"}"
                    }
                ]
            }
        ]
    }

Distribuera den uppdaterade ARM-mallen för att återspegla ändringarna i klustret. Lär dig hur du distribuerar en ARM-mall.