Hantera klusterkonfiguration

Viktigt!

Den här funktionen finns i förhandsgranskning. De kompletterande användningsvillkoren för Förhandsversioner av Microsoft Azure innehåller fler juridiska villkor som gäller för Azure-funktioner som är i betaversion, förhandsversion eller på annat sätt ännu inte har släppts i allmän tillgänglighet. Information om den här specifika förhandsversionen finns i Azure HDInsight på AKS-förhandsversionsinformation. Om du vill ha frågor eller funktionsförslag skickar du en begäran på AskHDInsight med informationen och följer oss för fler uppdateringar i Azure HDInsight Community.

MED HDInsight på AKS kan du justera konfigurationsegenskaperna för att förbättra klustrets prestanda med vissa inställningar. Till exempel användnings- eller minnesinställningar. Du kan utföra följande åtgärder:

  • Uppdatera befintliga konfigurationer eller lägg till nya konfigurationer.
  • Exportera konfigurationerna med hjälp av REST API.

Anpassa konfigurationer

Du kan anpassa konfigurationer med hjälp av följande alternativ:

Med Azure Portal

  1. Logga in på Azure-portalen.

  2. I sökfältet i Azure-portalen skriver du "HDInsight på AKS-kluster" och väljer "Azure HDInsight på AKS-kluster" i listrutan.

    Skärmbild som visar sökalternativet för att komma igång med HDInsight i AKS-kluster.

  3. Välj klusternamnet på listsidan.

    Skärmbild som visar hur du väljer DEN HDInsight på AKS-kluster som du behöver i listan.

  4. Gå till bladet Konfigurationshantering i den vänstra menyn.

    Skärmbild som visar fliken Konfigurationshantering.

  5. Beroende på klustertyp visas konfigurationsfiler. Mer information finns i Konfigurationer för Trino, Flink och Spark .

  6. Lägg till nytt eller uppdatera det befintliga nyckel/värde-paret för de konfigurationer som du vill ändra.

  7. Välj OK och klicka sedan på Spara.

Kommentar

Vissa konfigurationsändringar kan behöva startas om för att återspegla ändringarna.

Använda ARM-mall

Förutsättningar

I ARM-mallen kan du redigera serviceConfigsProfiles och ange NAMNET på OSS-konfigurationsfilen med det värde som du vill skriva över.

Om OSS-konfigurationsfilen är i JSON/XML/YAML-format kan du ange OSS-konfigurationsfilens namn via fileName. Ange de nyckelvärdepar som du vill skriva över i "värden".

Här följer några exempel för varje arbetsbelastning:

Flink-konfigurationsexempel:

 "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"
                                    }
                                }
                            ]
                        }
                    ]
                }
            ]

Spark-konfigurationsexempel:

  "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"
                                }
                            ]
                        }
                    ]
                }
          ]

Exempel på Trino-konfiguration:

 "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"
                                    }
                                }
                            ]
                        }
          ]

Mer information om Trino-konfigurationsalternativ finns i ARM-exempelmallarna.

Exportera konfigurationerna med hjälp av REST API

Du kan också exportera klusterkonfigurationer för att kontrollera standardvärdena och uppdaterade värden. För närvarande kan du bara exportera konfigurationer via REST-API:et.

Hämta klusterkonfigurationer:

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

Om du inte är bekant med hur du skickar ett REST API-anrop kan följande steg hjälpa dig.

  1. Klicka på följande knapp längst upp till höger i Azure-portalen för att starta Azure Cloud Shell.

    Skärmbild som visar Cloud Shell-ikonen.

  2. Kontrollera att Cloud Shell är inställt på PowerShell längst upp till vänster. Kör följande kommando för att hämta token och ange HTTP-begärandehuvuden.

    $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. Ange variabeln $restUri till URL:en för hämta begäran.

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

    Till exempel: $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

    Kommentar

    Du kan hämta resurs-ID:t och den uppdaterade api-versionen från "JSON-vyn" för klustret i Azure-portalen.

    Skärmbild som visar JSON-visningsknappar för kostnad.

  4. Skicka GET-begäran genom att köra följande kommando.

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