CLI 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.
L’interface CLI Trino pour HDInsight sur AKS fournit un interpréteur de commandes interactif basé sur un terminal pour exécuter des requêtes.
Installer sur Windows
Sur Windows, l’interface CLI Trino pour HDInsight sur AKS est installée via un MSI, ce qui vous donne accès à l’interface CLI via l’invite de commande Windows (CMD) ou PowerShell. Lors d’une installation pour un sous-système Windows pour Linux (WSL), consultez Installer sur Linux.
Spécifications
Ajoutez java.exe à PATH ou définissez une variable d’environnement JAVA_HOME pointant vers le répertoire d’installation JRE, de sorte que
%JAVA_HOME%\bin\java.exe
existe.
Installation ou mise à jour
Le package MSI est utilisé pour l’installation ou la mise à jour de l’interface CLI Trino pour HDInsight sur AKS sur Windows.
Téléchargez et installez la dernière version de l’interface CLI Trino. Lorsque le programme d’installation vous demande s’il peut apporter des modifications à votre ordinateur, cliquez sur la case « Oui ». Une fois l’installation terminée, vous devez fermer et rouvrir les fenêtres d’invite de commandes Windows ou PowerShell actives pour utiliser l’interface CLI Trino.
Télécharger l’interface CLI : https://aka.ms/InstallTrinoCLIWindows
Exécuter l’interface CLI Trino
Vous pouvez maintenant exécuter l’interface CLI Trino à l’aide de « trino-cli » dans l’invite de commandes et vous connecter au cluster :
trino-cli --server <cluster_endpoint>
Remarque
Si vous fonctionnez sur un système d’exploitation sans tête (aucun navigateur web), l’interface CLI Trino vous invite à utiliser le code de l’appareil pour l’authentification. Vous pouvez également spécifier le paramètre de ligne de commande --auth AzureDeviceCode
pour forcer l’utilisation du code de l’appareil. Dans ce cas, vous devez ouvrir un navigateur sur un autre appareil/système d’exploitation, entrer le code affiché et vous authentifier, puis revenir à l’interface CLI.
Résolution des problèmes
Voici quelques problèmes courants rencontrés lors de l’installation de l’interface CLI Trino sur Windows.
Le proxy bloque la connexion
Si vous ne pouvez pas télécharger le programme d’installation MSI car votre serveur proxy bloque la connexion, vérifiez que votre proxy est configuré correctement. Pour Windows 10, ces paramètres sont gérés dans le volet Paramètres > Réseau et Internet > Proxy. Contactez votre administrateur système pour connaître les paramètres requis, ou les situations où votre ordinateur peut être géré par configuration ou nécessiter une configuration avancée.
Pour obtenir le fichier MSI, votre proxy doit autoriser les connexions HTTPS aux adresses suivantes :
https://aka.ms/
https://hdionaksresources.blob.core.windows.net/
Désinstaller l’interface
Vous pouvez désinstaller l’interface CLI Trino à partir de la liste « Applications et fonctionnalités » de Windows. Pour désinstaller :
Plateforme | Instructions |
---|---|
Windows 10 | Démarrer > Paramètres > Application |
Windows 8 et Windows 7 | Démarrer > Panneau de configuration > Programmes > Désinstaller un programme |
Une fois sur cet écran, tapez Trino dans la barre de recherche du programme. Le programme à désinstaller est répertorié comme « <version> de l’interface CLI Trino HDInsight. » Sélectionnez cette application, puis cliquez sur le bouton Désinstaller.
Installer sur Linux
L’interface CLI Trino fournit un interpréteur de commandes interactif basé sur un terminal pour exécuter des requêtes. Vous pouvez installer manuellement l’interface CLI Trino sur Linux en sélectionnant l’option Installer le script.
Spécifications
Ajoutez java à PATH ou définissez une variable d’environnement JAVA_HOME pointant vers le répertoire d’installation JRE, de sorte que $JAVA_HOME/bin/java existe.
Installation ou mise à jour
L’installation et la mise à jour de l’interface CLI nécessitent de réexécuter le script d’installation. Installez l’interface CLI en exécutant curl.
curl -L https://aka.ms/InstallTrinoCli | bash
Le script peut également être téléchargé et exécuté localement. Vous devrez peut-être redémarrer votre interpréteur de commandes pour que certaines modifications soient prises en compte.
Exécuter l’interface CLI Trino
Vous pouvez maintenant exécuter l’interface CLI Trino avec la commande « trino-cli » à partir de l’interpréteur de commandes et vous connecter au cluster :
trino-cli --server <cluster_endpoint>
Remarque
Si vous fonctionnez sur un système d’exploitation sans tête (aucun navigateur web), l’interface CLI Trino vous invite à utiliser le code de l’appareil pour l’authentification. Vous pouvez également spécifier le paramètre de ligne de commande --auth AzureDeviceCode
pour forcer l’utilisation du code de l’appareil. Dans ce cas, vous devez ouvrir un navigateur sur un autre appareil/système d’exploitation, entrer le code affiché et vous authentifier, puis revenir à l’interface CLI.
Résolution des problèmes
Voici certains problèmes courants rencontrés pendant une installation manuelle.
Erreur curl « Objet déplacé »
Si vous obtenez une erreur de curl liée au paramètre -L ou un message d’erreur incluant le texte « Objet déplacé », essayez d’utiliser l’URL complète plutôt que la redirection aka.ms :
curl https://hdionaksresources.blob.core.windows.net/trino/cli/install.sh | bash
Commande trino-cli introuvable
hash -r
Le problème peut également survenir si vous n’avez pas redémarré votre interpréteur de commandes après l’installation. Vérifiez que l’emplacement de la commande trino-cli ($HOME/bin) se trouve dans votre $PATH.
Le proxy bloque la connexion
Pour obtenir les scripts d’installation, votre proxy doit autoriser les connexions HTTPS aux adresses suivantes :
https://aka.ms/
https://hdionaksresources.blob.core.windows.net/
Désinstaller
Pour supprimer tous les fichiers trino-cli, exécutez :
rm $HOME/bin/trino-cli
rm -r $HOME/lib/trino-cli
Authentification
L’interface CLI Trino prend en charge diverses méthodes d’authentification Microsoft Entra à l’aide de paramètres de ligne de commande. Le tableau suivant décrit les paramètres importants et les méthodes d’authentification. Pour plus d’informations, consultez Authentification.
Description des paramètres également disponibles dans l’interface CLI :
trino-cli --help
Paramètre | Signification | Requis | Description |
---|---|---|---|
auth | Nom de la méthode d’authentification | Non | Détermine la façon dont les informations d’identification de l’utilisateur sont fournies. Si non spécifié, utilise AzureDefault . |
azure-client | ID client | Oui pour AzureClientSecret, AzureClientCertificate . |
ID client du principal de service/de l’application. |
azure-tenant | Tenant ID | Oui pour AzureClientSecret, AzureClientCertificate . |
ID de locataire Microsoft Entra. |
azure-certificate-path | Chemin d’accès du fichier au certificat | Oui pour AzureClientCertificate . |
Chemin d’accès au fichier pfx/pem avec certificat. |
azure-use-token-cache | Utiliser un cache de jetons ou non | Non | S’il est fourni, le jeton d’accès est mis en cache et réutilisé dans les modes AzureDefault, AzureInteractive, AzureDeviceCode . |
azure-scope | Étendue des jetons | Non | Chaîne de portée Microsoft Entra avec laquelle demander un jeton. |
use-device-code | Utiliser une méthode de code d’appareil ou non | Non | Équivaut à --auth AzureDeviceCode . |
mot de passe | Secret client pour le principal de service | Oui pour AzureClientSecret . |
Secret/mot de passe du principal du service lors de l’utilisation du mode AzureClientSecret . |
access_token | Jeton d’accès JWT | Non | Si le jeton d’accès est obtenu en externe, peut être fourni à l’aide de ce paramètre. Dans ce cas, le paramètre auth n’est pas autorisé. |
Exemples
Description | Commande CLI |
---|---|
AzureDefault | trino-cli --server cluster1.pool1.region.projecthilo.net |
Authentification interactive du navigateur | trino-cli --server cluster1.pool1.region1.projecthilo.net --auth AzureInteractive |
Utiliser le cache de jetons | trino-cli --server cluster1.pool1.region1.projecthilo.net --auth AzureInteractive --azure-use-token-cache |
Principal de service avec une clé secrète | trino-cli --server cluster1.pool1.region1.projecthilo.net --auth AzureClientSecret --azure-client 11111111-1111-1111-1111-111111111111 --azure-tenant 11111111-1111-1111-1111-111111111111 --password |
Principal de service et certificat protégé (un mot de passe est demandé) | trino-cli --server cluster1.pool1.region1.projecthilo.net --auth AzureClientCertificate --azure-client 11111111-1111-1111-1111-111111111111 --azure-certificate-path d:\tmp\cert.pfx --azure-tenant 11111111-1111-1111-1111-111111111111 --password |
Résoudre les problèmes
MissingAccessToken ou InvalidAccessToken
L’interface CLI affiche l’une des erreurs suivantes :
Error running command: Authentication failed: {
"code": "MissingAccessToken",
"message": "Unable to find the token or get the required claims from it."
}
Error running command: Error starting query at https://<cluster-endpoint>/v1/statement returned an invalid response: JsonResponse{statusCode=500, statusMessage=, headers={content-type=[application/json; charset=utf-8], date=[Fri, 16 Jun 2023 18:25:23 GMT], strict-transport-security=[max-age=15724800; includeSubDomains]}, hasValue=false} [Error: {
"code": "InvalidAccessToken",
"message": "Unable to find the token or get the required claims from it"
}]
Pour résoudre le problème, essayez les étapes suivantes :
- Quittez l’interface CLI Trino.
- Exécutez
az logout
- Exécutez
az login -t <your-trino-cluster-tenantId>
- Maintenant, cette commande doit fonctionner :
trino-cli --server <cluster-endpoint>
- Vous pouvez également spécifier les paramètres d’authentification/de locataire :
trino-cli --server <cluster-endpoint> --auth AzureInteractive --azure-tenant <trino-cluster-tenantId>
403 Interdit
L’interface CLI affiche une erreur :
Error running command: Error starting query at https://<cluster-endpoint>/v1/statement returned an invalid response: JsonResponse{statusCode=403, statusMessage=, headers={content-length=[146], content-type=[text/html], date=[Wed, 25 May 2023 16:49:24 GMT], strict-transport-security=[max-age=15724800; includeSubDomains]}, hasValue=false} [Error: <html>
<head><title>403 Forbidden</title></head>
<body>
<center><h1>403 Forbidden</h1></center>
<hr><center>nginx</center>
</body>
</html>
]
Pour résoudre le problème, ajoutez un utilisateur ou un groupe au profil d’autorisation.