Condividi tramite


Gestione della configurazione Trino

Importante

Azure HDInsight su AKS è stato ritirato il 31 gennaio 2025. Scopri di più con questo annuncio.

È necessario eseguire la migrazione dei carichi di lavoro a Microsoft Fabric o a un prodotto Azure equivalente per evitare la chiusura brusca dei carichi di lavoro.

Importante

Questa funzionalità è attualmente in anteprima. Le condizioni supplementari per l'utilizzo per le anteprime di Microsoft Azure includono termini legali più validi applicabili alle funzionalità di Azure in versione beta, in anteprima o altrimenti non ancora rilasciate nella disponibilità generale. Per informazioni su questa anteprima specifica, vedere Azure HDInsight on AKS preview information. Per domande o suggerimenti sulle funzionalità, inviare una richiesta su AskHDInsight con i dettagli e seguire Microsoft per ulteriori aggiornamenti sulla Community di Azure HDInsight.

Il cluster Trino con HDInsight nel servizio Azure Kubernetes include la maggior parte delle configurazioni predefinite di Trino open source. Questo articolo descrive come aggiornare i file di configurazione e aggiunge i propri file di configurazione supplementari al cluster.

È possibile aggiungere/aggiornare le configurazioni in due modi:

Nota

Trino con HDInsight su AKS applica determinate configurazioni e impedisce la modifica di alcuni file e/o alcune proprietà. Questa operazione viene eseguita per garantire una sicurezza/connettività appropriata tramite la configurazione. Un esempio di file/proprietà non consentiti include, ma non è limitato a:

  • jvm.config file ad eccezione delle impostazioni della dimensione dell'heap.
  • Node.properties: node.id, node.data-dir, log.path e così via.
  • Config.properties: http-server.authentication.*, http-server.https.* etc.

Uso del portale di Azure

Nel portale di Azure è possibile modificare tre set di configurazioni trino standard :

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

Seguire la procedura per modificare le configurazioni:

  1. Accedi al portale di Azure.

  2. Nella barra di ricerca del portale di Azure digitare "HDInsight nel cluster del servizio Azure Kubernetes" e selezionare "Azure HDInsight nei cluster del servizio Azure Kubernetes" nell'elenco a discesa.

    Screenshot che mostra l'opzione di ricerca per iniziare a usare HDInsight nel cluster AKS.

  3. Seleziona il nome del cluster nella pagina dell'elenco.

    Screenshot che mostra la selezione di HDInsight nel cluster del servizio Azure Kubernetes necessaria nell'elenco.

  4. Passare al blocco "Gestione delle configurazioni".

    Screenshot che mostra la gestione della configurazione del portale di Azure.

  5. Aggiungere nuove o aggiornare le coppie di valori di chiave esistenti per le configurazioni da modificare. Ad esempio, config.properties -> Configurazioni personalizzate -> fare clic su "Aggiungi" per aggiungere una nuova impostazione di configurazione e quindi fare clic su OK.

    Screenshot che mostra la configurazione personalizzata.

  6. Fare clic su "Salva" per salvare le configurazioni.

    Screenshot che mostra come salvare la configurazione.

Uso del modello ARM di Resource Manager

Prerequisiti

Gestione dei cluster

Tutte le configurazioni Trino possono essere specificate in serviceConfigsProfiles.serviceName[“trino”] in properties.clusterProfile.

L'esempio seguente è incentrato su coordinator/worker/miscfiles. Per i cataloghi, vedere Aggiungere cataloghi a un cluster esistente:

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

Esistono diversi componenti che controllano aspetti di configurazione diversi:

Nome componente Proprietà obbligatorie/consentite per ogni specifica di file Descrizione
comune filename, values Contiene i file di configurazione sia per il coordinatore che per il lavoratore.
coordinatore filename, values Contiene file di configurazione solo per il coordinatore, sovrascrive quelli comuni se presenti.
lavoratore filename, values Contiene file di configurazione solo per i lavoratori, sovrascrive quelli comuni, se presenti.
miscfiles filename, content Contiene file di configurazione vari forniti dall'utente per l'intero cluster.
Cataloghi filename, contenuto o valori Contiene i file di catalogo per l'intero cluster.

L'esempio seguente illustra:

  • Eseguire l'override di node.environment predefinito per il cluster (visualizzato nell'interfaccia utente di Trino).
  • Sovrascrivere i valori predefiniti di config.properties per il coordinatore e il lavoratore.
  • Aggiungere i gruppi di risorse di esempio JSON e configurare il coordinatore per utilizzarli.
"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\"}"
                    }
                ]
            }
        ]
    }

Distribuire il modello ARM aggiornato per riflettere le modifiche nel tuo cluster. Informazioni su come distribuire un modello ARM.