Partage via


Trino CLI

Important

Azure HDInsight sur AKS a été mis hors service le 31 janvier 2025. En savoir plus avec cette annonce.

Vous devez migrer vos charges de travail vers Microsoft Fabric ou un produit Azure équivalent pour éviter l’arrêt brusque de vos charges de travail.

Important

Cette fonctionnalité est actuellement en préversion. Les Conditions d’utilisation supplémentaires pour les préversions Microsoft Azure incluent des termes juridiques supplémentaires qui s’appliquent aux fonctionnalités Azure en version bêta, en préversion ou qui ne sont pas encore publiées 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 des questions ou des suggestions de fonctionnalités, envoyez une demande sur AskHDInsight avec les détails et suivez-nous pour plus de mises à jour sur Communauté Azure HDInsight.

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

Pour Windows, l'interface en ligne de commande Trino pour HDInsight sur AKS est installée via un MSI, ce qui vous donne accès à l'interface en ligne de commande via l'invite de commandes Windows (CMD) ou PowerShell. Pour l’installation du sous-système Windows pour Linux (WSL), consultez Installer sur Linux.

Exigences

  • Java 8 ou 11.

  • Ajoutez java.exe à PATH ou définissez JAVA_HOME variable d’environnement pointant vers le répertoire d’installation JRE, de sorte que %JAVA_HOME%\bin\java.exe existe.

Installer ou mettre à jour

Le package MSI est utilisé pour installer ou mettre à jour 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 demande s’il peut apporter des modifications à votre ordinateur, cliquez sur la zone « Oui ». Une fois l’installation terminée, vous devez fermer et rouvrir toutes les fenêtres De commande Windows actives ou PowerShell pour utiliser l’interface CLI Trino.

Télécharger Trino CLI : https://aka.ms/InstallTrinoCLIWindows

Exécuter le 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>

Note

Si vous exécutez le système d’exploitation sans tête (aucun navigateur web), Trino CLI vous invite à utiliser le code d’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 s’authentifier, puis revenir à l’interface CLI.

Dépannage

Voici quelques problèmes courants rencontrés lors de l’installation de l’interface CLI Trino sur Windows.

Proxy bloque la connexion

Si vous ne pouvez pas télécharger le programme d’installation MSI, car votre proxy bloque la connexion, vérifiez que votre proxy est correctement configuré. Pour Windows 10, ces paramètres sont gérés dans le volet Paramètres > Réseau & Internet > Proxy. Contactez votre administrateur système pour les paramètres requis, ou pour les situations où votre ordinateur peut être géré par la configuration ou nécessite une configuration avancée.

Pour obtenir la msi, votre proxy doit autoriser les connexions HTTPS aux adresses suivantes :

  • https://aka.ms/
  • https://hdionaksresources.blob.core.windows.net/

Désinstaller

Vous pouvez désinstaller l’interface CLI Trino à partir de la liste « Applications et fonctionnalités » windows. Pour désinstaller :

Plateforme Instructions
Windows 10 Démarrer l'application Paramètres >>
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é sous « HDInsight Trino CLI <version>». 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.

Exigences

  • Java 8 ou 11.

  • Ajoutez java à PATH ou définissez JAVA_HOME variable d’environnement pointant vers le répertoire d’installation JRE, de sorte que $JAVA_HOME/bin/java existe.

Installer ou mettre à jour

L’installation et la mise à jour de l’interface CLI nécessitent une réexécution du 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 shell pour que les modifications prennent effet.

Exécutez le 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>

Note

Si vous exécutez sur le système d’exploitation sans tête (aucun navigateur web), Trino CLI vous invite à utiliser le code d’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 authentifier, puis revenir à l’interface CLI.

Dépannage

Voici quelques problèmes courants rencontrés lors d’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é », tente d’utiliser l’URL complète au lieu de 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 se produire 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.

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

Trino CLI prend en charge différentes 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 disponibles dans CLI :

trino-cli --help
Paramètre Sens Obligatoire 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 ce n’est pas spécifié, utilise AzureDefault.
azure-client Client ID Oui pour AzureClientSecret, AzureClientCertificate. ID client de l'application ou du principal de service.
azure-tenant ID de locataire Oui pour AzureClientSecret, AzureClientCertificate. Identifiant 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-utiliser-le-cache-de-jeton Utiliser le 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 du jeton Non Chaîne d’étendue Microsoft Entra avec laquelle demander un jeton.
utiliser-code-appareil Utiliser la méthode de code d’appareil ou non Non Équivalent à --auth AzureDeviceCode.
mot de passe Clé secrète client pour le principal de service Oui pour AzureClientSecret. Secret/mot de passe pour le principal du service en utilisant le mode AzureClientSecret.
jeton d'accès Jeton d’accès JWT Non Si le jeton d’accès obtenu en externe peut être fourni à l’aide de ce paramètre. Dans ce cas, auth paramètre 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 secret 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é (le 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

Dépanner

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, procédez comme suit :

  1. Quittez Trino CLI.
  2. Exécuter az logout
  3. Exécuter 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 et 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 .