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
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
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 :
- Quittez Trino CLI.
- Exécuter
az logout
- Exécuter
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 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 .