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:
Accedi al portale di Azure.
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.
Selezionare il nome del cluster dalla pagina dell'elenco.
Passare al pannello "Gestione configurazione".
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.
Fare clic su "Salva" per salvare le configurazioni.
Uso di un modello di Resource Manager
Prerequisiti
- Cluster Trino operativo con HDInsight su AKS.
- Creare un modello di Resource Manager per il cluster.
- Esaminare l’esempio del modello di Resource Manager del cluster completo.
- Familiarità con la creazione e la distribuzione di un modello di ARM.
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.