Delen via


Trino CLI

Belangrijk

Azure HDInsight op AKS is op 31 januari 2025 buiten gebruik gesteld. Ontdek meer via deze aankondiging.

U moet uw workloads migreren naar Microsoft Fabric- of een gelijkwaardig Azure-product om plotselinge beëindiging van uw workloads te voorkomen.

Belangrijk

Deze functie is momenteel beschikbaar als preview-versie. De aanvullende gebruiksvoorwaarden voor Microsoft Azure Previews meer juridische voorwaarden bevatten die van toepassing zijn op Azure-functies die bèta, in preview of anderszins nog niet in algemene beschikbaarheid zijn vrijgegeven. Zie Azure HDInsight in AKS preview-informatievoor 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 over 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. Wanneer u installeert voor Windows Subsystem voor Linux (WSL), zie Installeren op Linux.

Eisen

  • Java 8 of 11.

  • Voeg java.exe toe aan PATH of definieer JAVA_HOME omgevingsvariabele die verwijst naar de JRE-installatiemap, zodat %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 het installatieprogramma vraagt of het wijzigingen aan uw computer kan aanbrengen, klikt u op het vak 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 opgeven --auth AzureDeviceCode 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 > Network & Internet > Proxy. 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. Om te verwijderen:

Perron Aanwijzingen
Windows 10 >-instellingen > app starten
Windows 8 en Windows 7 Start > Configuratiescherm > Programma's > Een programma verwijderen

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

Installeren op 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.

Eisen

  • 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 lokaal worden gedownload en uitgevoerd. Mogelijk moet u de shell opnieuw starten om wijzigingen van kracht te laten worden.

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 opgeven --auth AzureDeviceCode 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

Hier volgen enkele veelvoorkomende problemen tijdens een handmatige installatie.

curl-fout 'Object verplaatst'

Als u een fout krijgt van curl met betrekking tot de parameter -L of een foutmelding met de tekst "Object verplaatst", probeer dan 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

Het probleem kan ook optreden als u de shell niet opnieuw hebt opgestart na de installatie. 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/

Deïnstalleren

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

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

Authenticatie

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 Verificatievoor meer informatie.

Beschrijving van parameters die ook beschikbaar zijn in CLI:

trino-cli --help
Parameter Betekenis Vereist Beschrijving
Authenticatie Naam van verificatiemethode Nee Bepaalt hoe gebruikersreferenties worden opgegeven. Als dit niet is opgegeven, gebruikt u AzureDefault.
azure-client Klant-ID Ja voor AzureClientSecret, AzureClientCertificate. Client-ID van servicegebruiker of toepassing.
azure-tenant Huurder-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-gebruik-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.
gebruik-apparaatcode Apparaatcodemethode gebruiken of niet Nee Gelijk aan --auth AzureDeviceCode.
wachtwoord Clientgeheim voor service-principal Ja voor AzureClientSecret. Geheim/wachtwoord voor service-principal bij gebruik van AzureClientSecret-modus.
toegangstoken JWT-toegangstoken Nee Als het toegangstoken extern is verkregen, kunt u deze parameter gebruiken. In dit geval is auth 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
Serviceprincipal 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

OntbrekendToegangstoken of OngeldigToegangstoken

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

Als u het probleem wilt oplossen, voegt u een gebruiker of groep toe aan het autorisatieprofiel.