Share via


CLI Trino

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

  • Java 8 ou 11.

  • 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

  • Java 8 ou 11.

  • 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 :

  1. Quittez l’interface CLI Trino.
  2. Exécutez az logout
  3. Exécutez az login -t <your-trino-cluster-tenantId>
  4. Maintenant, cette commande doit fonctionner :
trino-cli --server <cluster-endpoint>
  1. 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.