Condividi tramite


Gestione della configurazione di Trino

Nota

Azure HDInsight su AKS verrà ritirato il 31 gennaio 2025. Prima del 31 gennaio 2025, sarà necessario eseguire la migrazione dei carichi di lavoro a Microsoft Fabric o a un prodotto Azure equivalente per evitare interruzioni improvvise dei carichi di lavoro. I cluster rimanenti nella sottoscrizione verranno arrestati e rimossi dall’host.

Solo il supporto di base sarà disponibile fino alla data di ritiro.

Importante

Questa funzionalità è attualmente disponibile solo in anteprima. Le Condizioni per l'utilizzo supplementari per le anteprime di Microsoft Azure includono termini legali aggiuntivi che si applicano a funzionalità di Azure in versione beta, in anteprima o in altro modo non ancora disponibili a livello generale. Per informazioni su questa anteprima specifica, vedere Informazioni sull'anteprima di Azure HDInsight nel servizio Azure Kubernetes. Per domande o suggerimenti sulle funzionalità, inviare una richiesta in AskHDInsight con i dettagli e seguire Microsoft per altri aggiornamenti nella Community di Azure HDInsight.

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

È 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 proprietà. Questa operazione viene eseguita per garantire una sicurezza/connettività appropriata tramite la configurazione. Un esempio di file/proprietà non consentiti include, ad esempio:

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

Con il portale di Azure

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

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

Seguire i passaggi per modificare le configurazioni:

  1. Accedi al portale di Azure.

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

    Screenshot che mostra l'opzione di ricerca per iniziare a utilizzare HDInsight nei cluster del servizio Azure Kubernetes.

  3. Selezionare il nome del cluster dalla pagina dell'elenco.

    Screenshot che mostra la selezione di HDInsight nei cluster del servizio Azure Kubernetes richiesto dall'elenco.

  4. Passare al pannello "Gestione configurazione".

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

  5. Aggiungere nuove coppie chiave-valore, o aggiornarle, 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 di un modello di Resource Manager

Prerequisiti

Gestione dei cluster

Tutte le configurazioni di 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 file di configurazione sia per coordinator che per worker.
coordinator filename, values Contiene file di configurazione solo per coordinator; esegue l'override comune, se presente.
worker filename, values Contiene file di configurazione solo per worker; esegue l'override comune, se presente.
miscfiles filename, content Contiene file di configurazione misti forniti dall'utente per l'intero cluster.
catalogs filename, contenuto o valori Contiene file di catalogo per l'intero cluster.

L'esempio seguente mostra:

  • Eseguire l'override di node.environment predefinito per il cluster (visualizzato nell'interfaccia utente di Trino).
  • Eseguire l'override dei valori config.properties predefiniti per coordinator e worker.
  • Aggiungere un json di gruppi di risorse di esempio e configurare coordinator per usarlo.
"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 di Resource Manager aggiornato per riflettere le modifiche nel cluster. Informazioni su come distribuire un modello di Resource Manager.