Partager via


Gestion de la configuration Trino

Remarque

Nous allons mettre hors service Azure HDInsight sur AKS le 31 janvier 2025. Avant le 31 janvier 2025, vous devrez migrer vos charges de travail vers Microsoft Fabric ou un produit Azure équivalent afin d’éviter leur arrêt brutal. Les clusters restants de votre abonnement seront arrêtés et supprimés de l’hôte.

Seul le support de base sera disponible jusqu’à la date de mise hors service.

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 les 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.

Un cluster Trino avec HDInsight sur AKS est fourni avec la plupart des configurations par défaut de Trino open source. Cet article explique comment mettre à jour les fichiers de configuration et ajouter vos propres fichiers de configuration supplémentaires au cluster.

Vous pouvez ajouter/mettre à jour les configurations de deux façons :

Remarque

Trino avec HDInsight sur AKS applique certaines configurations et interdit la modification de certains fichiers et/ou propriétés. Cela permet de garantir une sécurité/connectivité appropriée via la configuration. Voici quelques exemples de fichiers/propriétés interdits :

  • Fichier jvm.config, à l’exception des paramètres de taille des segments de mémoire
  • Node.properties : node.id, node.data-dir, log.path et ainsi de suite
  • Config.properties: http-server.authentication.*, http-server.https.* etc.

Avec le portail Azure

Dans le portail Azure, vous pouvez modifier trois ensembles de configurations Trino standard :

  • log.properties
  • config.properties
  • node.properties

Suivez ces étapes pour modifier les configurations :

  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 ».

    Capture d’écran montrant la gestion de la configuration du Portail Azure.

  5. Mettez à jour les paires clé-valeur existantes, ou ajoutez-en de nouvelles, pour les configurations que vous souhaitez modifier. Par exemple, config.properties -> Configurations personnalisées -> cliquez sur « Ajouter » pour ajouter un nouveau paramètre de configuration, puis cliquez sur OK.

    Capture d’écran montrant la configuration personnalisée.

  6. Cliquez sur « Enregistrer » pour enregistrer les configurations.

    Capture d’écran montrant comment enregistrer la configuration.

Utilisation d’un modèle ARM

Prérequis

Gestion de cluster

Toutes les configurations Trino peuvent être spécifiées dans serviceConfigsProfiles.serviceName[“trino”] sous properties.clusterProfile.

L’exemple suivant est axé sur coordinator/worker/miscfiles. Pour les catalogues, consultez Ajouter des catalogues à un cluster existant :

"serviceConfigsProfiles": [
    {
        "serviceName": "trino",
        "configs": [
            {
                "component": "catalogs",
                "files": [<file-spec>,…]
            },
            {
                "component": "coordinator",
                "files": [<file-spec>,…]
            },
            {
                "component": "worker",
                "files": [<file-spec>,…]
            },
            {
                "component": " miscfiles",
                "files": [<file-spec>,…]
            },
        ]
    }
]

Il existe plusieurs composants qui contrôlent différents aspects de la configuration :

Nom du composant Propriétés requises/autorisées pour chaque spécification de fichier Description
éléments communs filename, values Contient des fichiers de configuration pour le coordinateur et le Worker.
coordinatrice filename, values Contient des fichiers de configuration pour le coordinateur uniquement ; remplace les valeurs communes s’il est présent.
worker filename, values Contient des fichiers de configuration pour les Workers uniquement ; remplace les valeurs communes s’il est présent.
miscfiles filename, content Contient des fichiers de configuration divers fournis par l’utilisateur pour l’ensemble du cluster.
catalogs filename, contenu ou valeurs Contient des fichiers catalogue pour l’ensemble du cluster.

L’exemple suivant illustre cette situation :

  • Remplacer le node.environment par défaut pour le cluster (affiché dans l’interface utilisateur Trino).
  • Remplacer les valeurs config.properties par défaut pour le coordinateur et le Worker.
  • Ajouter un exemple de code JSON de groupes de ressources et configurez le coordinateur pour l’utiliser.
"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\"}"
                    }
                ]
            }
        ]
    }

Déployez le modèle ARM mis à jour pour refléter les modifications apportées à votre cluster. Découvrez comment déployer un modèle ARM.