Trino CLI
Wichtig
Azure HDInsight auf AKS wurde am 31. Januar 2025 eingestellt. Erfahren Sie mehr über mit dieser Ankündigung.
Sie müssen Ihre Workloads zu Microsoft Fabric oder ein gleichwertiges Azure-Produkt migrieren, um eine abrupte Beendigung Ihrer Workloads zu vermeiden.
Wichtig
Dieses Feature befindet sich derzeit in der Vorschau. Die zusätzlichen Nutzungsbedingungen für Microsoft Azure Previews weitere rechtliche Bestimmungen enthalten, die für Azure-Features gelten, die in der Betaversion, in der Vorschau oder auf andere Weise noch nicht in die allgemeine Verfügbarkeit veröffentlicht werden. Informationen zu dieser spezifischen Vorschau finden Sie unter Azure HDInsight auf AKS-Vorschauinformationen. Für Fragen oder Funktionsvorschläge senden Sie bitte eine Anfrage auf AskHDInsight mit den Details und folgen Sie uns für weitere Updates auf Azure HDInsight Community.
Die Trino CLI für HDInsight auf AKS stellt eine terminalbasierte interaktive Shell für die Ausführung von Abfragen bereit.
Installieren unter Windows
Für Windows wird die Trino CLI für HDInsight auf AKS über ein MSI installiert, mit dem Sie über die Windows-Eingabeaufforderung (CMD) oder PowerShell auf die CLI zugreifen können. Informationen zum Installieren des Windows-Subsystems für Linux (WSL) finden Sie unter Installation unter Linux.
Anforderungen
Fügen Sie java.exe zu PATH hinzu, oder definieren Sie JAVA_HOME Umgebungsvariable, die auf das JRE-Installationsverzeichnis verweist, sodass
%JAVA_HOME%\bin\java.exe
vorhanden ist.
Installieren oder Aktualisieren
Das MSI-Paket wird zum Installieren oder Aktualisieren der Trino CLI für HDInsight unter AKS unter Windows verwendet.
Laden Sie die neueste Version der Trino CLI herunter und installieren Sie sie. Wenn das Installationsprogramm fragt, ob änderungen an Ihrem Computer vorgenommen werden können, klicken Sie auf das Feld "Ja". Nach Abschluss der Installation müssen Sie alle aktiven Windows-Eingabeaufforderungs- oder PowerShell-Fenster schließen und erneut öffnen, um die Trino CLI zu verwenden.
Trino CLI herunterladen: https://aka.ms/InstallTrinoCLIWindows
Führen Sie die Trino CLI aus.
Sie können jetzt die Trino CLI mit "trino-cli" an der Eingabeaufforderung ausführen und eine Verbindung mit dem Cluster herstellen:
trino-cli --server <cluster_endpoint>
Anmerkung
Wenn Sie ein headless Betriebssystem (ohne Webbrowser) verwenden, fordert die Trino-CLI zur Verwendung eines Gerätecodes für die Authentifizierung auf. Sie können auch den Befehlszeilenparameter --auth AzureDeviceCode
angeben, um die Verwendung von Gerätecode zu erzwingen. In diesem Fall müssen Sie einen Browser auf einem anderen Gerät/Betriebssystem öffnen, den angezeigten und authentifizierten Code eingeben und dann zur CLI zurückkehren.
Fehlerbehebung
Hier sind einige häufige Probleme beim Installieren der Trino CLI unter Windows.
Proxy blockiert die Verbindung
Wenn Sie das MSI-Installationsprogramm nicht herunterladen können, da Ihr Proxy die Verbindung blockiert, stellen Sie sicher, dass Ihr Proxy ordnungsgemäß konfiguriert ist. Für Windows 10 werden diese Einstellungen im Bereich "Einstellungen > Netzwerk & Internet > Proxy" verwaltet. Wenden Sie sich an den Systemadministrator, um die erforderlichen Einstellungen zu erhalten, oder für Situationen, in denen Ihr Computer möglicherweise vom Typ "Konfigurationsverwaltung" verwaltet wird oder eine erweiterte Einrichtung erforderlich ist.
Um die MSI-Datei abzurufen, muss Ihr Proxy HTTPS-Verbindungen mit den folgenden Adressen zulassen:
https://aka.ms/
https://hdionaksresources.blob.core.windows.net/
Deinstallieren
Sie können die Trino CLI aus der Windows-Liste "Apps und Features" deinstallieren. So deinstallieren Sie:
Plattform | Anweisungen |
---|---|
Windows 10 | Start > Einstellungen > App |
Windows 8 und Windows 7 | Starten > Systemsteuerung > Programme > Deinstallieren eines Programms |
Geben Sie auf diesem Bildschirm "Trino" in die Suchleiste des Programms ein. Das zu deinstallierende Programm ist als "HDInsight Trino CLI <Version>" aufgeführt." Wählen Sie diese Anwendung aus, und klicken Sie dann auf die Schaltfläche "Deinstallieren".
Installieren unter Linux
Die Trino CLI stellt eine terminalbasierte, interaktive Shell für die Ausführung von Abfragen bereit. Sie können die Trino CLI unter Linux manuell installieren, indem Sie die Option "Skript installieren" auswählen.
Anforderungen
Fügen Sie Java zu PATH hinzu, oder definieren Sie JAVA_HOME Umgebungsvariable, die auf das JRE-Installationsverzeichnis verweist, sodass $JAVA_HOME/bin/java vorhanden ist.
Installieren oder Aktualisieren
Sowohl die Installation als auch die Aktualisierung der CLI erfordert eine erneute Ausführung des Installationsskripts. Installieren Sie die CLI, indem Sie Curl ausführen.
curl -L https://aka.ms/InstallTrinoCli | bash
Das Skript kann auch lokal heruntergeladen und ausgeführt werden. Möglicherweise müssen Sie die Shell neu starten, damit Änderungen wirksam werden.
Führen Sie die Trino CLI aus
Sie können jetzt die Trino CLI mit dem Befehl "trino-cli" über die Shell ausführen und eine Verbindung mit dem Cluster herstellen:
trino-cli --server <cluster_endpoint>
Anmerkung
Wenn Sie ein headless OS (kein Webbrowser) verwenden, wird Trino CLI Sie auffordern, den Gerätecode zur Authentifizierung zu verwenden. Sie können auch den Befehlszeilenparameter --auth AzureDeviceCode
angeben, um die Verwendung von Gerätecode zu erzwingen. In diesem Fall müssen Sie einen Browser auf einem anderen Gerät/Betriebssystem öffnen, den angezeigten und authentifizierten Code eingeben und dann zur CLI zurückkehren.
Fehlerbehebung
Hier sind einige häufige Probleme, die bei einer manuellen Installation auftreten.
curl "Objekt verschoben" Fehler
Wenn Sie einen Fehler von curl im Zusammenhang mit dem -L-Parameter erhalten oder eine Fehlermeldung, die den Text "Objekt verschoben" enthält, erhalten, versuchen Sie, die vollständige URL anstelle der aka.ms-Umleitung zu verwenden.
curl https://hdionaksresources.blob.core.windows.net/trino/cli/install.sh | bash
trino-cli-Befehl wurde nicht gefunden
hash -r
Das Problem kann auch auftreten, wenn Sie die Shell nach der Installation nicht neu gestartet haben. Stellen Sie sicher, dass sich die Position des Trino-Cli-Befehls ($HOME/bin) in Ihrem $PATH befindet.
Proxy blockiert die Verbindung
Um die Installationsskripts abzurufen, muss Ihr Proxy HTTPS-Verbindungen mit den folgenden Adressen zulassen:
https://aka.ms/
https://hdionaksresources.blob.core.windows.net/
Deinstallieren
So entfernen Sie alle Trino-Cli-Dateien:
rm $HOME/bin/trino-cli
rm -r $HOME/lib/trino-cli
Authentifizierung
Trino CLI unterstützt verschiedene Methoden der Microsoft Entra-Authentifizierung mithilfe von Befehlszeilenparametern. In der folgenden Tabelle werden die wichtigen Parameter und Authentifizierungsmethoden beschrieben, weitere Informationen finden Sie unter Authentifizierung.
Parameterbeschreibung, die auch in CLI verfügbar ist:
trino-cli --help
Parameter | Bedeutung | Erforderlich | Beschreibung |
---|---|---|---|
Authentifizierung | Name der Authentifizierungsmethode | Nein | Bestimmt, wie Benutzeranmeldeinformationen bereitgestellt werden. Wenn nicht angegeben, wird AzureDefault verwendet. |
Azure-Client | Kundenkennung | Ja für AzureClientSecret, AzureClientCertificate . |
Client-ID des Dienstprinzipals/der Anwendung. |
Azure-Mandant | Mandanten-ID | Ja für AzureClientSecret, AzureClientCertificate . |
Microsoft Entra-Mandanten-ID. |
Azure-Zertifikatspfad | Dateipfad zum Zertifikat | Ja für AzureClientCertificate . |
Pfad zur Pfx/pem-Datei mit Zertifikat. |
Azure-Token-Cache-Verwendung | Tokencache verwenden oder nicht | Nein | Wenn angegeben, wird das Zugriffstoken zwischengespeichert und im AzureDefault, AzureInteractive, AzureDeviceCode -Modus wiederverwendet. |
Azure-Bereich | Tokenbereich | Nein | Microsoft Entra-Bereichszeichenfolge zum Anfordern eines Tokens mit. |
gerätecode verwenden | Gerätecodemethode verwenden oder nicht? | Nein | Entspricht --auth AzureDeviceCode . |
Passwort | Geheimer Clientschlüssel für den Dienstprinzipal | Ja für AzureClientSecret . |
Geheimnis/Kennwort für den Dienstprinzipal beim Verwenden des AzureClientSecret -Modus. |
Zugriffstoken | JWT-Zugriffstoken | Nein | Wenn das Zugriffstoken extern abgerufen wurde, kann es mithilfe dieses Parameters übergeben werden. In diesem Fall ist auth Parameter nicht zulässig. |
Beispiele
Beschreibung | CLI-Befehl |
---|---|
AzureDefault | trino-cli --server cluster1.pool1.region.projecthilo.net |
Interaktive Browserauthentifizierung | trino-cli --server cluster1.pool1.region1.projecthilo.net --auth AzureInteractive |
Tokencache verwenden | trino-cli --server cluster1.pool1.region1.projecthilo.net --auth AzureInteractive --azure-use-token-cache |
Dienstprinzipal mit geheimem Schlüssel | 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 |
Dienstprinzipal- und geschütztes Zertifikat (Kennwort wird aufgefordert) | 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 |
Fehlerbehebung
FehlenderAccessToken oder UngültigerAccessToken
CLI zeigt einen der folgenden Fehler an:
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"
}]
Führen Sie die folgenden Schritte aus, um das Problem zu beheben:
- Beenden Sie Trino CLI.
- Ausführen von
az logout
- Ausführen von
az login -t <your-trino-cluster-tenantId>
- Jetzt sollte dieser Befehl funktionieren:
trino-cli --server <cluster-endpoint>
- Alternativ können Sie Authentifizierungs-/Mandantenparameter angeben:
trino-cli --server <cluster-endpoint> --auth AzureInteractive --azure-tenant <trino-cluster-tenantId>
403 Verboten
CLI zeigt Fehler an:
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>
]
Um das Problem zu beheben, fügen Sie dem AutorisierungsprofilBenutzer oder Gruppe hinzu.