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:
Accedi al portale di Azure.
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.
Seleziona il nome del cluster nella pagina dell'elenco.
Passare al blocco "Gestione delle configurazioni".
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.
Fare clic su "Salva" per salvare le configurazioni.
Uso del modello ARM di Resource Manager
Prerequisiti
- Un cluster operativo Trino con HDInsight su AKS.
- Creare il modello ARM per il cluster.
- Rivedere il modello ARM completo del cluster esempio.
- Familiarità con creazione e distribuzione di modelli ARM.
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.