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
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
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:
- Sluit Trino CLI af.
-
az logout
uitvoeren -
az login -t <your-trino-cluster-tenantId>
uitvoeren - Deze opdracht moet nu werken:
trino-cli --server <cluster-endpoint>
- 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.