Trino CLI
Notitie
Op 31 januari 2025 wordt Azure HDInsight buiten gebruik gesteld op AKS. Vóór 31 januari 2025 moet u uw workloads migreren naar Microsoft Fabric of een gelijkwaardig Azure-product om te voorkomen dat uw workloads plotseling worden beëindigd. De resterende clusters in uw abonnement worden gestopt en verwijderd van de host.
Alleen basisondersteuning is beschikbaar tot de buitengebruikstellingsdatum.
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
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 | App Instellingen > 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
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:
- Sluit Trino CLI af.
az logout
uitvoerenaz 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>
]
U kunt het probleem oplossen door een gebruiker of groep toe te voegen aan het autorisatieprofiel.