Freigeben über


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

  • Java 8 oder 11.

  • 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

  • Java 8 oder 11.

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

  1. Beenden Sie Trino CLI.
  2. Ausführen von az logout
  3. Ausführen von az login -t <your-trino-cluster-tenantId>
  4. Jetzt sollte dieser Befehl funktionieren:
trino-cli --server <cluster-endpoint>
  1. 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.