Udostępnij za pośrednictwem


Zarządzanie konfiguracją Trino

Ważny

Usługa Azure HDInsight w usłudze AKS została wycofana 31 stycznia 2025 r. Dowiedz się więcej z tego ogłoszenia.

Aby uniknąć nagłego kończenia obciążeń, należy przeprowadzić migrację obciążeń do usługi Microsoft Fabric lub równoważnego produktu platformy Azure.

Ważny

Ta funkcja jest obecnie dostępna w wersji zapoznawczej. Dodatkowe warunki użytkowania dla wersji zapoznawczych Microsoft Azure zawierają więcej warunków prawnych, które dotyczą funkcji platformy Azure będących w wersji beta, wersji zapoznawczej lub w inny sposób jeszcze niewydanych do ogólnej dostępności. Aby uzyskać informacje na temat tej konkretnej wersji zapoznawczej, zobacz informacje o wersji zapoznawczej Azure HDInsight w usłudze AKS. W przypadku pytań lub sugestii dotyczących funkcji prosimy o przesłanie żądania z szczegółami na AskHDInsight i śledzenie nas, aby uzyskać więcej aktualizacji na temat społeczności Azure HDInsight.

Klaster Trino z usługą HDInsight na AKS zawiera większość domyślnych konfiguracji Trino o otwartym kodzie źródłowym. W tym artykule opisano sposób aktualizowania plików konfiguracji i dodawania własnych plików konfiguracji uzupełniających do klastra.

Konfiguracje można dodawać/aktualizować na dwa sposoby:

Notatka

Trino z HDInsight na AKS wymusza pewne konfiguracje i zabrania modyfikacji niektórych plików lub właściwości. Odbywa się to w celu zapewnienia odpowiednich zabezpieczeń/łączności za pośrednictwem konfiguracji. Przykład zabronionych plików/właściwości obejmuje, ale nie jest ograniczony do:

  • jvm.config pliku z wyjątkiem ustawień rozmiaru sterty.
  • Node.properties: node.id, node.data-dir, log.path itp.
  • Config.properties: http-server.authentication.*, http-server.https.* etc.

Korzystanie z witryny Azure Portal

W witrynie Azure Portal można zmodyfikować trzy zestawy standardowych konfiguracji Trino:

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

Wykonaj kroki, aby zmodyfikować konfiguracje:

  1. Zaloguj się do witryny Azure Portal.

  2. W pasku wyszukiwania w portalu Azure wpisz "HDInsight on AKS cluster" i wybierz "Azure HDInsight on AKS clusters" z listy rozwijanej.

    Zrzut ekranu przedstawiający opcję wyszukiwania umożliwiającą rozpoczęcie pracy z usługą HDInsight w klastrze usługi AKS.

  3. Wybierz nazwę klastra na stronie listy.

    Zrzut ekranu pokazujący wybór wymaganej opcji HDInsight w klastrze AKS z listy.

  4. Przejdź do bloku "Zarządzanie konfiguracją".

    Zrzut ekranu przedstawiający zarządzanie konfiguracją witryny Azure Portal.

  5. Dodaj nowe lub zaktualizuj istniejące pary wartości klucza dla konfiguracji, które chcesz zmodyfikować. Na przykład config.properties —> Konfiguracje niestandardowe —> kliknij przycisk "Dodaj", aby dodać nowe ustawienie konfiguracji, a następnie kliknij przycisk OK.

    Zrzut ekranu przedstawiający konfigurację niestandardową.

  6. Kliknij pozycję "Zapisz", aby zapisać konfiguracje.

    Zrzut ekranu przedstawiający sposób zapisywania konfiguracji.

Korzystanie z szablonu ARM

Warunki wstępne

  • Operacyjny klaster Trino z usługą HDInsight w usłudze AKS.
  • Utwórz szablon ARM dla Twojego klastra.
  • Przejrzyj kompletny szablon ARM klastra przykład.
  • Znajomość tworzenia i wdrażania szablonu ARM .

Zarządzanie klastrem

Wszystkie konfiguracje Trino można określić w serviceConfigsProfiles.serviceName[“trino”] w obszarze properties.clusterProfile.

Poniższy przykład koncentruje się na coordinator/worker/miscfiles. Aby uzyskać informacje o katalogach, zobacz Dodawanie katalogów do istniejącego klastra:

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

Istnieje kilka składników, które kontrolują różne aspekty konfiguracji:

Nazwa składnika Wymagane/dozwolone właściwości dla każdej specyfikacji pliku Opis
wspólny filename, values Zawiera pliki konfiguracji dla koordynatora i pracownika.
Koordynator filename, values Zawiera pliki konfiguracyjne tylko dla koordynatora, zastępując wspólne, jeśli są obecne.
pracownik filename, values Zawiera pliki konfiguracji tylko dla procesów roboczych, przesłania typowe, jeśli istnieją.
miscfiles filename, content Zawiera różne pliki konfiguracji dostarczane przez użytkownika dla całego klastra.
Katalogi filename, albo zawartość, albo wartości Zawiera pliki wykazu dla całego klastra.

W poniższym przykładzie pokazano:

  • Zastąp domyślne środowisko node.environment dla klastra (wyświetlane w interfejsie użytkownika Trino).
  • Zastąp domyślne ustawienia w config.properties dla koordynatora i pracownika.
  • Dodaj przykładowe grupy zasobów JSON i oraz skonfiguruj koordynatora do ich użycia.
"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\"}"
                    }
                ]
            }
        ]
    }

Zaktualizuj szablon ARM, aby zmiany były odzwierciedlone w klastrze. Dowiedz się, jak wdrożyć szablon ARM.