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 est 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 :
Connectez-vous au portail Azure.
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.
Sélectionnez le nom de votre cluster sur la page de liste.
Accédez au panneau « Gestion des configurations ».
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.
Cliquez sur « Enregistrer » pour enregistrer les configurations.
Utilisation d’un modèle ARM
Prérequis
- Un cluster Trino avec HDInsight sur AKS opérationnel.
- Créez un modèle ARM pour votre cluster.
- Examinez l’exemple complet de modèle ARM de cluster.
- Connaissance de la création et du déploiement de modèles ARM.
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.