Condividi tramite


Gestire la configurazione del cluster

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.

HDInsight nel servizio Azure Kubernetes consente di perfezionare le proprietà di configurazione per migliorare le prestazioni del cluster con determinate impostazioni. Ad esempio, impostazioni di utilizzo o memoria. È possibile effettuare le seguenti operazioni:

  • Aggiornare le configurazioni esistenti o aggiungere nuove configurazioni.
  • Esportare le configurazioni usando l'API REST.

Personalizzare le configurazioni

È possibile personalizzare le configurazioni usando le opzioni seguenti:

Con il portale di Azure

  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" nel menu sulla sinistra.

    Screenshot che mostra la scheda Gestione della configurazione.

  5. A seconda del tipo di cluster, vengono elencati i file di configurazione. Per altre informazioni, vedere le configurazioni di Trino, Flink e Spark.

  6. Aggiungere nuove coppie chiave-valore, o aggiornarle, per le configurazioni da modificare.

  7. Seleziona OK e quindi fai clic su Salva.

Nota

Alcune modifiche alla configurazione potrebbero richiedere il riavvio del servizio per riflettere le modifiche.

Uso di un modello di Resource Manager

Prerequisiti

Nel modello di Resource Manager è possibile modificare serviceConfigsProfiles e specificare il nome del file di configurazione del sistema operativo con il valore che si vuole sovrascrivere.

Se il file di configurazione del sistema operativo è in formato JSON/XML/YAML, è possibile specificare il nome del file di configurazione del sistema operativo tramite fileName. Specificare le coppie chiave-valore da sovrascrivere nei "valori".

Ecco alcuni esempi per ogni carico di lavoro:

Esempio di configurazione Flink:

 "serviceConfigsProfiles": [
                {
                    "serviceName": "flink-operator",
                    "configs": [
                        {
                            "component": "flink-configs",
                            "files": [
                                {
                                    "fileName": "flink-conf.yaml",
                                    "values": {
                                        "taskmanager.memory.process.size": "4096mb",
                                        "classloader.check-leaked-classloader": "false",
                                        "jobmanager.memory.process.size": "4096mb",
                                        "classloader.parent-first-patterns.additional": "org.apache.parquet"
                                    }
                                }
                            ]
                        }
                    ]
                }
            ]

Esempio di configurazione Spark:

  "serviceConfigsProfiles": [
                {
                    "serviceName": "spark-service",
                    "configs": [
                        {
                            "component": "livy-config",
                            "files": [
                                {
                                    "fileName": "livy-client.conf",
                                    "values": {
                                        "livy.client.http.connection.timeout": "11s"
                                    }
                                }
                            ]
                        },
                        {
                            "component": "spark-config",
                            "files": [
                                {
                                    "fileName": "spark-env.sh",
                                    "content": "# - SPARK_HISTORY_OPTS, to set config properties only for the history server (e.g. \"-Dx=y\")\nexport HDP_VERSION=3.3.3.5.2-83515052\n"
                                }
                            ]
                        }
                    ]
                }
          ]

Esempio di configurazione Trino:

 "serviceConfigsProfiles": [
                {
                    "serviceName": "trino",
                    "configs": [
                        {
                            "component": "coordinator",
                            "files": [
                                {
                                    "fileName": "config.properties",
                                    "values": {
                                        "query.cache.enabled": "true",
                                        "query.cache.ttl": "1h",
                                        "query.enable-multi-statement-set-session": "true",
                                        "query.max-memory": "301GB"
                                    }
                                },
                                {
                                    "fileName": "log.properties",
                                    "values": {
                                        "io.trino": "INFO"
                                    }
                                }
                            ]
                        }
          ]

Per altre informazioni sulle opzioni di configurazione di Trino, vedere i modelli di Resource Manager di esempio.

Esportare le configurazioni usando l'API REST

È anche possibile esportare le configurazioni del cluster per controllare i valori predefiniti e aggiornati. In questo momento, è possibile esportare solo le configurazioni tramite l'API REST.

Ottenere le configurazioni dei cluster:

GET Request: /subscriptions/{{USER_SUB}}/resourceGroups/{{USER_RG}}/providers/Microsoft.HDInsight/clusterpools/{{CLUSTERPOOL}}/clusters/{{CLUSTERNAME}}/serviceConfigs?api-version={{HDINSIGHTONAKS_API_VERSION}}

Se non si ha familiarità con l'invio di una chiamata API REST, è possibile seguire questa procedura.

  1. Fare clic sul pulsante seguente in alto a destra nel portale di Azure per avviare Azure Cloud Shell.

    Screenshot che mostra l'icona di Cloud Shell.

  2. Assicurarsi che Cloud Shell sia impostato su PowerShell in alto a sinistra. Eseguire il comando seguente per ottenere il token e impostare le intestazioni di richiesta HTTP.

    $azContext = Get-AzContext
    $azProfile = [Microsoft.Azure.Commands.Common.Authentication.Abstractions.AzureRmProfileProvider]::Instance.Profile
    
    $profileClient = New-Object -TypeName Microsoft.Azure.Commands.ResourceManager.Common.RMProfileClient -ArgumentList ($azProfile)
    $token = $profileClient.AcquireAccessToken($azContext.Subscription.TenantId)
    $authHeader = @{
        'Content-Type'='application/json'
        'Authorization'='Bearer ' + $token.AccessToken
    }
    
  3. Impostare la variabile $restUri sull'URL della richiesta Get.

    $restUri = 
    'https://management.azure.com/subscriptions/{{USER_SUB}}/resourceGroups/{{USER_RG}}/providers/Microsoft.HDInsight/clusterpools/{{CLUSTERPOOL}}/clusters/{{CLUSTERNAME}}/serviceConfigs?api-version={{HDINSIGHTONAKS_API_VERSION}}'
    

    Ad esempio: $restUri = 'https://management.azure.com/subscriptions/xxx-yyyy-zzz-00000/resourceGroups/contosoRG/providers/Microsoft.HDInsight/clusterpools/contosopool/clusters/contosocluster/serviceConfigs?api-version=2021-09-15-preview

    Nota

    È possibile ottenere l'ID risorsa e la versione api aggiornata dalla "visualizzazione JSON" del cluster nel portale di Azure.

    Screenshot dei pulsanti Visualizzazione JSON dei costi.

  4. Inviare la richiesta GET eseguendo il comando seguente.

    Invoke-RestMethod -Uri $restUri -Method Get -Headers $authHeader | ConvertTo-Json -Depth 10