Partage via


Gérer la configuration du cluster

Important

Cette fonctionnalité est disponible actuellement en mode Aperçu. Les Conditions d’utilisation supplémentaires pour les préversions de Microsoft Azure contiennent davantage de conditions légales qui s’appliquent aux fonctionnalités Azure en version bêta, en préversion ou ne se trouvant pas encore en disponibilité générale. Pour plus d’informations sur cette préversion spécifique, consultez Informations sur la préversion d’Azure HDInsight sur AKS. Pour toute question ou pour des suggestions à propos des fonctionnalités, veuillez envoyer vos requêtes et leurs détails sur AskHDInsight, et suivez-nous sur la Communauté Azure HDInsight pour plus de mises à jour.

HDInsight sur AKS vous permet de modifier les propriétés de configuration pour améliorer les performances de votre cluster avec certains paramètres. Par exemple, les paramètres d’utilisation ou de mémoire. Vous pouvez effectuer les actions suivantes :

  • Mettez à jour les configurations existantes ou ajoutez de nouvelles configurations.
  • Exportez les configurations avec l’API REST.

Personnaliser les configurations

Vous pouvez personnaliser les configurations avec les options suivantes :

Avec le portail Azure

  1. Connectez-vous au portail Azure.

  2. Dans la barre de recherche du portail Azure, tapez « cluster HDInsight sur AKS », puis sélectionnez « clusters Azure HDInsight sur AKS » dans la liste déroulante.

    Capture d’écran montrant l’option de recherche pour la prise en main du Cluster HDInsight sur AKS.

  3. Sélectionnez le nom de votre cluster sur la page de liste.

    Capture d’écran montrant la sélection dans la liste du Cluster HDInsight sur AKS dont vous avez besoin.

  4. Accédez au panneau « Gestion des configurations » dans le menu de gauche.

    Capture d’écran montrant l’onglet Gestion de la configuration.

  5. Les fichiers de configuration sont listés selon le type de cluster. Pour plus d’informations, consultez les configurations Trino, Flink et Spark.

  6. Ajoutez une paire clé-valeur existante, ou ajoutez-en une nouvelle, pour les configurations que vous voulez modifier.

  7. Sélectionnez OK, puis cliquez sur Enregistrer.

Remarque

Certains changements de configuration peuvent nécessiter un redémarrage du service pour qu’ils soient reflétés.

Utilisation d’un modèle ARM

Prérequis

Dans le modèle ARM, vous pouvez modifier serviceConfigsProfiles et spécifier le nom du fichier de configuration OSS avec la valeur à remplacer.

Si le fichier de configuration OSS est au format JSON/XML/YAML, vous pouvez fournir le nom du fichier de configuration OSS avec fileName. Fournissez les paires clé-valeur que vous souhaitez remplacer dans « values ».

Voici quelques exemples pour chaque charge de travail :

Exemple de configuration 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"
                                    }
                                }
                            ]
                        }
                    ]
                }
            ]

Exemple de configuration 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"
                                }
                            ]
                        }
                    ]
                }
          ]

Exemple de configuration 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"
                                    }
                                }
                            ]
                        }
          ]

Pour plus d’informations sur les options de configuration Trino, consultez les exemples de modèles ARM.

Exporter les configurations avec l’API REST

Vous pouvez également exporter des configurations de cluster pour vérifier les valeurs par défaut et mises à jour. À ce stade, vous pouvez seulement exporter les configurations avec l’API REST.

Obtenir les configurations de cluster :

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

Si vous n’êtes pas familiarisé avec l’envoi d’un appel d’API REST, les étapes suivantes peuvent vous aider.

  1. Cliquez sur le bouton suivant en haut à droite sur le portail Azure pour lancer Azure Cloud Shell.

    Capture d’écran montrant l’icône Cloud Shell.

  2. Vérifiez que Cloud Shell est défini sur PowerShell en haut à gauche. Exécutez la commande suivante pour obtenir un jeton et définir les en-têtes de requête 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. Définissez la variable $restUri sur l’URL de la requête 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}}'
    

    Par exemple : $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

    Remarque

    Vous pouvez obtenir l’ID de ressource et la version d’API à jour à partir de la « Vue JSON » de votre cluster dans le portail Azure.

    Capture d’écran des boutons d’Affichage des coûts JSON.

  4. Envoyez la requête GET en exécutant la commande suivante.

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