Trino-Befehlszeilenschnittstelle
Hinweis
Azure HDInsight on AKS wird am 31. Januar 2025 eingestellt. Vor dem 31. Januar 2025 müssen Sie Ihre Workloads zu Microsoft Fabric oder einem gleichwertigen Azure-Produkt migrieren, um eine abruptes Beendigung Ihrer Workloads zu vermeiden. Die verbleibenden Cluster in Ihrem Abonnement werden beendet und vom Host entfernt.
Bis zum Einstellungsdatum ist nur grundlegende Unterstützung verfügbar.
Wichtig
Diese Funktion steht derzeit als Vorschau zur Verfügung. Die zusätzlichen Nutzungsbedingungen für Microsoft Azure-Vorschauen enthalten weitere rechtliche Bestimmungen, die für Azure-Features in Betaversionen, in Vorschauversionen oder anderen Versionen gelten, die noch nicht allgemein verfügbar gemacht wurden. Informationen zu dieser spezifischen Vorschau finden Sie unter Informationen zur Vorschau von Azure HDInsight on AKS. Bei Fragen oder Funktionsvorschlägen senden Sie eine Anfrage an AskHDInsight mit den entsprechenden Details, und folgen Sie uns für weitere Updates in der Azure HDInsight-Community.
Die Trino-Befehlszeilenschnittstelle für HDInsight on AKS stellt eine terminalbasierte, interaktive Shell für die Ausführung von Abfragen bereit.
Installieren unter Windows
Unter Windows wird die Trino-Befehlszeilenschnittstelle für HDInsight on AKS über eine MSI-Datei installiert. Dadurch können Sie über die Windows-Eingabeaufforderung (CMD) oder über PowerShell auf die Befehlszeilenschnittstelle zugreifen. Informationen zum Installieren für das Windows-Subsystem für Linux (WSL) finden Sie unter Installieren unter Linux.
Anforderungen
Fügen Sie „java.exe“ zu PATH hinzu, oder definieren Sie die Umgebungsvariable JAVA_HOME, 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-Befehlszeilenschnittstelle für HDInsight on AKS unter Windows verwendet.
Laden Sie das aktuelle Release der Trino-Befehlszeilenschnittstelle herunter, und installieren Sie sie. Wenn das Installationsprogramm fragt, ob Änderungen am Computer vorgenommen werden dürfen, klicken Sie auf „Ja“. Nach Abschluss der Installation müssen Sie alle aktiven Windows-Eingabeaufforderungen oder PowerShell-Fenster schließen und erneut öffnen, um die Trino-Befehlszeilenschnittstelle verwenden zu können.
Herunterladen der Trino-Befehlszeilenschnittstelle: https://aka.ms/InstallTrinoCLIWindows
Ausführen der Trino-Befehlszeilenschnittstelle
Sie können die Trino-Befehlszeilenschnittstelle jetzt mithilfe von „trino-cli“ in der Eingabeaufforderung ausführen und eine Verbindung mit einem Cluster herstellen:
trino-cli --server <cluster_endpoint>
Hinweis
Bei der Ausführung unter einem monitorlosen Betriebssystem (kein Webbrowser) werden Sie von der Trino-Befehlszeilenschnittstelle zur Verwendung von Gerätecode für die Authentifizierung aufgefordert. 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/unter einem anderen Betriebssystem öffnen, den angezeigten Code eingeben und sich authentifizieren und dann zur Befehlszeilenschnittstelle zurückkehren.
Problembehandlung
In diesem Abschnitt finden Sie einige allgemeine Probleme, die bei der Installation der Trino-Befehlszeilenschnittstelle unter Windows auftreten können.
Der Proxy blockiert die Verbindung.
Wenn Sie das MSI-Installationsprogramm nicht herunterladen können, da Ihr Proxy die Verbindung blockiert, stellen Sie sicher, dass Sie den Proxy richtig konfiguriert haben. Unter Windows 10 werden diese Einstellungen im Bereich „Einstellungen > Netzwerk und Internet > Proxy“ verwaltet. Wenden Sie sich an Ihren Systemadministrator, um Informationen zu den erforderlichen Einstellungen zu erhalten oder wenn Ihr Computer ggf. konfigurationsverwaltet ist oder ein erweitertes Setup erfordert.
Zum Abrufen der MSI 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-Befehlszeilenschnittstelle über die Liste „Apps und Features“ in Windows deinstallieren. Gehen Sie zum Deinstallieren wie folgt vor:
Plattform | Instructions |
---|---|
Windows 10 | Start > Einstellungen > App |
Windows 8 und Windows 7 | Start > Systemsteuerung > Programme > Programm deinstallieren |
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“.
Installation unter Linux
Die Trino-Befehlszeilenschnittstelle stellt eine terminalbasierte, interaktive Shell für die Ausführung von Abfragen bereit. Sie können die Trino-Befehlszeilenschnittstelle unter Linux manuell installieren, indem Sie die Option „Installationsskript“ auswählen.
Anforderungen
Fügen Sie „java“ zu PATH hinzu, oder definieren Sie die Umgebungsvariable JAVA_HOME, die auf das JRE-Installationsverzeichnis verweist, sodass „$JAVA_HOME/bin/java“ vorhanden ist.
Installieren oder Aktualisieren
Sowohl für die Installation als auch die Aktualisierung der CLI muss das Installationsskript erneut ausgeführt werden. Installieren Sie die CLI durch Ausführen von curl.
curl -L https://aka.ms/InstallTrinoCli | bash
Das Skript kann auch heruntergeladen und lokal ausgeführt werden. Unter Umständen müssen Sie Ihre Shell neu starten, damit einige Änderungen wirksam werden.
Ausführen der Trino-Befehlszeilenschnittstelle
Sie können nun die Trino-Befehlszeilenschnittstelle mit dem Befehl „trino-cli“ über die Shell ausführen und eine Verbindung mit dem Cluster herstellen:
trino-cli --server <cluster_endpoint>
Hinweis
Bei der Ausführung unter einem monitorlosen Betriebssystem (kein Webbrowser) werden Sie von der Trino-Befehlszeilenschnittstelle zur Verwendung von Gerätecode für die Authentifizierung aufgefordert. 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/unter einem anderen Betriebssystem öffnen, den angezeigten Code eingeben und sich authentifizieren und dann zur Befehlszeilenschnittstelle zurückkehren.
Problembehandlung
In diesem Abschnitt werden einige allgemeine Probleme beschrieben, die bei einer manuellen Installation auftreten können.
curl-Fehler „Objekt verschoben“
Wenn Sie einen Fehler von curl im Zusammenhang mit dem -L-Parameter oder eine Fehlermeldung mit dem Text „Objekt verschoben“ erhalten, versuchen Sie, die vollständige URL anstatt der aka.ms-Umleitung zu verwenden:
curl https://hdionaksresources.blob.core.windows.net/trino/cli/install.sh | bash
trino-cli-Befehl nicht gefunden
hash -r
Dieses Problem kann auch auftreten, wenn Sie die Shell nach der Installation nicht neu gestartet haben. Stellen Sie sicher, dass sich der trino-cli-Befehl ($HOME/bin) unter $PATH befindet.
Der Proxy blockiert die Verbindung.
Zum Abrufen der Installationsskripts muss Ihr Proxy HTTPS-Verbindungen mit den folgenden Adressen zulassen:
https://aka.ms/
https://hdionaksresources.blob.core.windows.net/
Deinstallieren
Führen Sie zum Entfernen aller trino-cli-Dateien Folgendes aus:
rm $HOME/bin/trino-cli
rm -r $HOME/lib/trino-cli
Authentifizierung
Die Trino-Befehlszeilenschnittstelle 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 sind auch in der CLI verfügbar:
trino-cli --help
Parameter | Bedeutung | Erforderlich | Beschreibung |
---|---|---|---|
auth | Name der Authentifizierungsmethode | Nein | Bestimmt, wie Benutzeranmeldeinformationen bereitgestellt werden. Ohne Angabe dieses Parameters wird AzureDefault verwendet. |
azure-client | Client ID | Ja für AzureClientSecret, AzureClientCertificate |
Client-ID des Dienstprinzipals/der Anwendung |
azure-tenant | Mandanten-ID | Ja für AzureClientSecret, AzureClientCertificate |
Microsoft Entra-Mandanten-ID |
azure-certificate-path | Dateipfad zum Zertifikat | Ja für AzureClientCertificate |
Pfad zur PFX-/PEM-Datei mit Zertifikat |
azure-use-token-cache | Gibt an, ob der Tokencache verwendet werden soll. | Nein | Wird der Parameter angegeben, wird das Zugriffstoken zwischengespeichert und in den Modi AzureDefault, AzureInteractive, AzureDeviceCode wiederverwendet. |
azure-scope | Tokenbereich | Nein | Microsoft Entra-Bereichszeichenfolge zum Anfordern eines Tokens |
use-device-code | Gibt an, ob die Gerätecodemethode verwendet werden soll. | Nein | Entspricht --auth AzureDeviceCode . |
password | Geheimer Clientschlüssel für Dienstprinzipal | Ja für AzureClientSecret |
Geheimnis/Kennwort für den Dienstprinzipal bei Verwendung des Modus AzureClientSecret |
access-token | JWT-Zugriffstoken | Nein | Wenn das Zugriffstoken extern abgerufen wurde, kann es mithilfe dieses Parameters bereitgestellt werden. In diesem Fall ist der Parameter auth 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 |
Verwenden des Tokencache | trino-cli --server cluster1.pool1.region1.projecthilo.net --auth AzureInteractive --azure-use-token-cache |
Dienstprinzipal mit Geheimnis | 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 angefordert) | 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 |
Problembehandlung
MissingAccessToken oder InvalidAccessToken
Die 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 die Trino-Befehlszeilenschnittstelle.
- 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>
- Geben Sie alternativ Authentifizierungs-/Mandantenparameter an:
trino-cli --server <cluster-endpoint> --auth AzureInteractive --azure-tenant <trino-cluster-tenantId>
403 Verboten
Die CLI zeigt den folgenden 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 Autorisierungsprofil Benutzer*innen oder eine Gruppe hinzu.