Share via


Trino CLI

Belangrijk

Deze functie is momenteel beschikbaar in preview. De aanvullende gebruiksvoorwaarden voor Microsoft Azure Previews bevatten meer juridische voorwaarden die van toepassing zijn op Azure-functies die bèta, in preview of anderszins nog niet beschikbaar zijn in algemene beschikbaarheid. Zie Azure HDInsight op AKS Preview-informatie voor meer informatie over deze specifieke preview. Voor vragen of suggesties voor functies dient u een aanvraag in op AskHDInsight met de details en volgt u ons voor meer updates in de Azure HDInsight-community.

De Trino CLI voor HDInsight in AKS biedt een terminalgebaseerde, interactieve shell voor het uitvoeren van query's.

Installeren in Windows

Voor Windows wordt de Trino CLI voor HDInsight op AKS geïnstalleerd via een MSI, waarmee u toegang hebt tot de CLI via de Windows-opdrachtprompt (CMD) of PowerShell. Zie Installeren op Linux wanneer u installeert voor Windows-subsysteem voor Linux (WSL).

Vereisten

  • Java 8 of 11.

  • Voeg java.exe toe aan PATH of definieer JAVA_HOME omgevingsvariabele die verwijst naar de JRE-installatiemap, zodat deze %JAVA_HOME%\bin\java.exe bestaat.

Installeren of bijwerken

Het MSI-pakket wordt gebruikt voor het installeren of bijwerken van de Trino CLI voor HDInsight in AKS in Windows.

Download en installeer de nieuwste versie van de Trino CLI. Wanneer via het installatieprogramma wordt gevraagd of er wijzigingen op de computer mogen worden aangebracht, klikt u op Ja. Nadat de installatie is voltooid, moet u actieve Windows-opdrachtprompts of PowerShell-vensters sluiten en opnieuw openen om de Trino CLI te kunnen gebruiken.

Trino CLI downloaden: https://aka.ms/InstallTrinoCLIWindows

De Trino CLI uitvoeren

U kunt nu de Trino CLI uitvoeren met behulp van 'trino-cli' in de opdrachtprompt en verbinding maken met het cluster:

trino-cli --server <cluster_endpoint>

Notitie

Als u een headless besturingssysteem gebruikt (geen webbrowser), wordt Trino CLI gevraagd om apparaatcode te gebruiken voor verificatie. U kunt ook de opdrachtregelparameter --auth AzureDeviceCode opgeven om af te dwingen met behulp van apparaatcode. In dit geval moet u een browser openen op een ander apparaat/besturingssysteem, de weergegeven en geverifieerde code invoeren en vervolgens terugkeren naar CLI.

Probleemoplossing

Hier volgen enkele veelvoorkomende problemen bij het installeren van de Trino CLI in Windows.

Proxy blokkeert de verbinding

Als u het MSI-installatieprogramma niet kunt downloaden omdat uw proxy de verbinding blokkeert, controleert u of uw proxy juist is geconfigureerd. Voor Windows 10 worden deze instellingen beheerd in het deelvenster Instellingen > Netwerk- en internetproxy>. Neem contact op met de systeembeheerder voor de vereiste instellingen of voor situaties waarin uw computer mogelijk wordt geconfigureerd of waarvoor geavanceerde instellingen zijn vereist.

Als u de MSI wilt ophalen, moet uw proxy HTTPS-verbindingen met de volgende adressen toestaan:

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

Verwijderen

U kunt de Trino CLI verwijderen uit de lijst Met Windows-apps en onderdelen. Ga als volgende te werk om te verwijderen:

Platform Instructies
Windows 10 > Instellingen-app starten >
Windows 8 en Windows 7 Een > programma starten Configuratiescherm > Programma's > verwijderen

Eenmaal op dit scherm typt u Trino in de zoekbalk van het programma. Het programma dat moet worden verwijderd, is een lijst met 'HDInsight Trino CLI-versie<>'. Selecteer deze toepassing en klik vervolgens op de knop Verwijderen.

Installeren in Linux

De Trino CLI biedt een terminalgebaseerde, interactieve shell voor het uitvoeren van query's. U kunt de Trino CLI handmatig installeren in Linux door de optie Script installeren te selecteren.

Vereisten

  • Java 8 of 11.

  • Voeg java toe aan PATH of definieer JAVA_HOME omgevingsvariabele die verwijst naar de JRE-installatiemap, zodat $JAVA_HOME/bin/java bestaat.

Installeren of bijwerken

Voor zowel het installeren als bijwerken van de CLI moet het installatiescript opnieuw worden uitgevoerd. Installeer de CLI door curl uit te voeren.

curl -L https://aka.ms/InstallTrinoCli | bash

Het script kan ook worden gedownload en lokaal worden uitgevoerd. Mogelijk moet u de shell opnieuw starten om de wijzigingen door te voeren.

De Trino CLI uitvoeren

U kunt nu de Trino CLI uitvoeren met de opdracht trino-cli vanuit de shell en verbinding maken met het cluster:

trino-cli --server <cluster_endpoint>

Notitie

Als u op headless OS (geen webbrowser) Trino CLI uitvoert, wordt u gevraagd apparaatcode te gebruiken voor verificatie. U kunt ook de opdrachtregelparameter --auth AzureDeviceCode opgeven om af te dwingen met behulp van apparaatcode. In dit geval moet u een browser openen op een ander apparaat/besturingssysteem, de code invoeren die wordt weergegeven en geverifieerd en vervolgens terugkeren naar CLI.

Probleemoplossing

Hieronder volgen enkele veelvoorkomende problemen bij handmatige installatie.

curl -fout 'Object verplaatst'

Als u een foutmelding krijgt van curl met betrekking tot de parameter -L of een foutbericht met inbegrip van de tekst 'Object verplaatst', probeert u de volledige URL te gebruiken in plaats van de aka.ms omleiding:

curl https://hdionaksresources.blob.core.windows.net/trino/cli/install.sh | bash

trino-cli-opdracht is niet gevonden

hash -r

Dit probleem kan zich ook voordoen als u de shell na installatie niet opnieuw hebt opgestart. Zorg ervoor dat de locatie van de trino-cli-opdracht ($HOME/bin) zich in uw $PATH bevindt.

Proxy blokkeert de verbinding

Als u de installatiescripts wilt ophalen, moet uw proxy HTTPS-verbindingen met de volgende adressen toestaan:

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

Verwijderen

Als u alle trino-cli-bestanden wilt verwijderen, voert u het volgende uit:

rm $HOME/bin/trino-cli
rm -r $HOME/lib/trino-cli

Verificatie

Trino CLI ondersteunt verschillende methoden van Microsoft Entra-verificatie met behulp van opdrachtregelparameters. In de volgende tabel worden de belangrijke parameters en verificatiemethoden beschreven. Zie Verificatie voor meer informatie.

Beschrijving van parameters die ook beschikbaar zijn in CLI:

trino-cli --help
Parameter Betekenis Vereist Beschrijving
verif Naam van verificatiemethode Nee Bepaalt hoe gebruikersreferenties worden opgegeven. Als dit niet is opgegeven, gebruikt u AzureDefault.
azure-client Client ID Ja voor AzureClientSecret, AzureClientCertificate. Client-id van service-principal/toepassing.
azure-tenant Tenant-id Ja voor AzureClientSecret, AzureClientCertificate. Tenant-id van Microsoft Entra.
azure-certificate-path Bestandspad naar certificaat Ja voor AzureClientCertificate. Pad naar pfx-/pem-bestand met certificaat.
azure-use-token-cache Tokencache gebruiken of niet Nee Indien opgegeven, wordt het toegangstoken in de cache opgeslagen en opnieuw gebruikt in AzureDefault, AzureInteractive, AzureDeviceCode modi.
azure-scope Tokenbereik Nee Microsoft Entra-bereiktekenreeks om een token aan te vragen.
use-device-code Apparaatcodemethode gebruiken of niet Nee Gelijk aan --auth AzureDeviceCode.
password Clientgeheim voor service-principal Ja voor AzureClientSecret. Geheim/wachtwoord voor service-principal bij gebruik van AzureClientSecret de modus.
toegangstoken JWT-toegangstoken Nee Als het toegangstoken extern is verkregen, kunt u deze parameter gebruiken. In dit geval auth is de parameter niet toegestaan.

Voorbeelden

Beschrijving CLI-opdracht
AzureDefault trino-cli --server cluster1.pool1.region.projecthilo.net
Interactieve browserverificatie trino-cli --server cluster1.pool1.region1.projecthilo.net --auth AzureInteractive
Tokencache gebruiken trino-cli --server cluster1.pool1.region1.projecthilo.net --auth AzureInteractive --azure-use-token-cache
Service-principal met geheim 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
Service-principal en beveiligd certificaat (wachtwoord wordt gevraagd) 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

Problemen oplossen

MissingAccessToken of InvalidAccessToken

CLI bevat een van de volgende fouten:

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"
}]

Probeer de volgende stappen om het probleem op te lossen:

  1. Sluit Trino CLI af.
  2. az logout uitvoeren
  3. az login -t <your-trino-cluster-tenantId> uitvoeren
  4. Deze opdracht moet nu werken:
trino-cli --server <cluster-endpoint>
  1. U kunt ook verificatie-/tenantparameters opgeven:
trino-cli --server <cluster-endpoint> --auth AzureInteractive --azure-tenant <trino-cluster-tenantId>

403 Verboden

CLI geeft een fout weer:

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>
]

U kunt het probleem oplossen door een gebruiker of groep toe te voegen aan het autorisatieprofiel.