Udostępnij za pośrednictwem


Zarządzanie konfiguracją trino

Uwaga

Wycofamy usługę Azure HDInsight w usłudze AKS 31 stycznia 2025 r. Przed 31 stycznia 2025 r. należy przeprowadzić migrację obciążeń do usługi Microsoft Fabric lub równoważnego produktu platformy Azure, aby uniknąć nagłego zakończenia obciążeń. Pozostałe klastry w ramach subskrypcji zostaną zatrzymane i usunięte z hosta.

Tylko podstawowa pomoc techniczna będzie dostępna do daty wycofania.

Ważne

Ta funkcja jest aktualnie dostępna jako funkcja podglądu. Dodatkowe warunki użytkowania dla wersji zapoznawczych platformy Microsoft Azure obejmują więcej warunków prawnych, które dotyczą funkcji platformy Azure, które znajdują się w wersji beta, w wersji zapoznawczej lub w inny sposób nie zostały jeszcze wydane w wersji ogólnodostępnej. Aby uzyskać informacje o tej konkretnej wersji zapoznawczej, zobacz Informacje o wersji zapoznawczej usługi Azure HDInsight w usłudze AKS. W przypadku pytań lub sugestii dotyczących funkcji prześlij żądanie w usłudze AskHDInsight , aby uzyskać szczegółowe informacje i postępuj zgodnie z nami, aby uzyskać więcej aktualizacji w społeczności usługi Azure HDInsight.

Klaster Trino z usługą HDInsight w usłudze AKS zawiera większość domyślnych konfiguracji trino typu open source. 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:

Uwaga

Trino z usługą HDInsight w usłudze AKS wymusza pewne konfiguracje i zabrania modyfikacji niektórych plików i/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:

  • Plik jvm.config 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.

Przy użyciu 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 Portalu Azure.

  2. Na pasku wyszukiwania w witrynie Azure Portal wpisz ciąg "HDInsight on AKS cluster" (Klaster usługi HDInsight w usłudze Azure HDInsight w klastrach usługi AKS) 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 przedstawiający wybieranie klastra usługi HDInsight w klastrze usługi AKS, którego potrzebujesz 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 usługi ARM

Wymagania wstępne

  • Operacyjny klaster Trino z usługą HDInsight w usłudze AKS.
  • Utwórz szablon usługi ARM dla klastra.
  • Zapoznaj się z kompletnym przykładem szablonu usługi ARM klastra.
  • Znajomość tworzenia i wdrażania szablonów usługi ARM.

Zarządzanie klastrem

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

Poniższy przykład koncentruje się na .coordinator/worker/miscfiles Aby uzyskać informacje o wykazach, 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
typowe filename, values Zawiera pliki konfiguracji dla koordynatora i procesu roboczego.
Koordynator filename, values Zawiera pliki konfiguracji tylko dla koordynatora, przesłania typowe, jeśli istnieje.
robotnik 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, zawartość lub wartości Zawiera pliki wykazu dla całego klastra.

Poniższy przykład przedstawia:

  • Zastąp domyślne środowisko node.environment dla klastra (wyświetlane w interfejsie użytkownika Trino).
  • Zastąpij domyślne wartości config.properties dla koordynatora i procesu roboczego.
  • Dodaj przykładowe grupy zasobów json i skonfiguruj koordynatora, aby go używać.
"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\"}"
                    }
                ]
            }
        ]
    }

Wdróż zaktualizowany szablon usługi ARM, aby odzwierciedlić zmiany w klastrze. Dowiedz się, jak wdrożyć szablon usługi ARM.