Trino CLI

Viktigt!

Den här funktionen finns i förhandsgranskning. De kompletterande användningsvillkoren för Förhandsversioner av Microsoft Azure innehåller fler juridiska villkor som gäller för Azure-funktioner som är i betaversion, förhandsversion eller på annat sätt ännu inte har släppts i allmän tillgänglighet. Information om den här specifika förhandsversionen finns i Azure HDInsight på AKS-förhandsversionsinformation. Om du vill ha frågor eller funktionsförslag skickar du en begäran på AskHDInsight med informationen och följer oss för fler uppdateringar i Azure HDInsight Community.

Trino CLI för HDInsight på AKS tillhandahåller ett terminalbaserat, interaktivt gränssnitt för att köra frågor.

Installera i Windows

För Windows installeras Trino CLI för HDInsight på AKS via en MSI, vilket ger dig åtkomst till CLI via Windows-kommandotolken (CMD) eller PowerShell. När du installerar för Windows-undersystem för Linux (WSL) läser du Installera på Linux.

Krav

  • Java 8 eller 11.

  • Lägg till java.exe i PATH eller definiera JAVA_HOME miljövariabel som pekar på JRE-installationskatalogen, så att den %JAVA_HOME%\bin\java.exe finns.

Installera eller uppdatera

MSI-paketet används för att installera eller uppdatera Trino CLI för HDInsight på AKS i Windows.

Ladda ned och installera den senaste versionen av Trino CLI. När installationsprogrammet frågar om ändringar kan göras på din dator klickar du på ”Ja”. När installationen är klar måste du stänga och öppna alla aktiva Windows-kommandotolks- eller PowerShell-fönster igen för att använda Trino CLI.

Ladda ned Trino CLI: https://aka.ms/InstallTrinoCLIWindows

Kör Trino CLI

Nu kan du köra Trino CLI med "trino-cli" i kommandotolken och ansluta till klustret:

trino-cli --server <cluster_endpoint>

Kommentar

Om du kör ett huvudlöst operativsystem (ingen webbläsare) uppmanas Trino CLI att använda enhetskod för autentisering. Du kan också ange kommandoradsparameter för --auth AzureDeviceCode att framtvinga användning av enhetskod. I det här fallet måste du öppna en webbläsare på en annan enhet/ett annat operativsystem, mata in koden som visas och autentisera och sedan komma tillbaka till CLI.

Felsökning

Här följer några vanliga problem när du installerar Trino CLI i Windows.

Proxy blockerar anslutning

Om du inte kan ladda ned MSI-installationsprogrammet eftersom proxyn blockerar anslutningen kontrollerar du att proxyn är korrekt konfigurerad. För Windows 10 hanteras de här inställningarna i fönstret Inställningar > Nätverk och Internetproxy>. Kontakta systemadministratören för de inställningar som krävs, eller för situationer där datorn kan vara konfigurationshanterad eller kräver avancerad konfiguration.

För att hämta MSI måste proxyn tillåta HTTPS-anslutningar till följande adresser:

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

Avinstallera

Du kan avinstallera Trino CLI från listan Appar och funktioner i Windows. Så här avinstallerar du:

Plattform Instruktioner
Windows 10 Starta > Inställningar > app
Windows 8 och Windows 7 Starta > Kontrollpanelen > program > Avinstallera ett program

På den här skärmen skriver du Trino i programsökningsfältet. Programmet som ska avinstalleras är en lista som "HDInsight Trino CLI-version<>". Välj det här programmet och klicka sedan på knappen Avinstallera.

Installera på Linux

Trino CLI tillhandahåller ett terminalbaserat interaktivt gränssnitt för att köra frågor. Du kan installera Trino CLI manuellt på Linux genom att välja alternativet Installera skript.

Krav

  • Java 8 eller 11.

  • Lägg till java i PATH eller definiera JAVA_HOME miljövariabel som pekar på JRE-installationskatalogen, så att $JAVA_HOME/bin/java finns.

Installera eller uppdatera

Både installation och uppdatering av CLI kräver att installationsskriptet körs igen. Installera CLI genom att köra curl.

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

Skriptet kan också laddas ned och köras lokalt. Du kan behöva starta om gränssnittet för att vissa ändringar ska börja gälla.

Kör Trino CLI

Nu kan du köra Trino CLI med kommandot "trino-cli" från gränssnittet och ansluta till klustret:

trino-cli --server <cluster_endpoint>

Kommentar

Om du kör ett huvudlöst operativsystem (ingen webbläsare) uppmanas Trino CLI att använda enhetskod för autentisering. Du kan också ange kommandoradsparameter för --auth AzureDeviceCode att framtvinga användning av enhetskod. I det här fallet måste du öppna en webbläsare på en annan enhet/ett annat operativsystem, mata in koden som visas och autentisera och sedan komma tillbaka till CLI.

Felsökning

Här är några vanliga problem som kan uppstå vid manuell installation.

curl"Object Moved"-fel

Om du får ett fel från curl som är relaterad till parametern -L eller ett felmeddelande med texten "Object Moved" försöker du använda den fullständiga URL:en i stället för aka.ms omdirigering:

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

trino-cli-kommandot hittades inte

hash -r

Det här problemet kan även inträffa om du inte startade om gränssnittet efter installationen. Kontrollera att platsen för trino-cli-kommandot ($HOME/bin) finns i din $PATH.

Proxy blockerar anslutning

För att hämta installationsskripten måste proxyn tillåta HTTPS-anslutningar till följande adresser:

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

Avinstallera

Ta bort alla trino-cli-filer genom att köra:

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

Autentisering

Trino CLI stöder olika metoder för Microsoft Entra-autentisering med hjälp av kommandoradsparametrar. I följande tabell beskrivs viktiga parametrar och autentiseringsmetoder. Mer information finns i Autentisering.

Beskrivning av parametrar som finns i CLI:

trino-cli --help
Parameter Innebörd Obligatoriskt Beskrivning
författare Namn på autentiseringsmetod Nej Avgör hur användarautentiseringsuppgifter tillhandahålls. Om det inte anges använder .AzureDefault
azure-client Client ID Ja för AzureClientSecret, AzureClientCertificate. Klient-ID för tjänstens huvudnamn/program.
azure-tenant Klientorganisations-ID Ja för AzureClientSecret, AzureClientCertificate. Microsoft Entra-klientorganisations-ID.
azure-certificate-path Filsökväg till certifikat Ja för AzureClientCertificate. Sökväg till pfx/pem-fil med certifikat.
azure-use-token-cache Använda tokencache eller inte Nej Om det tillhandahålls cachelagras och återanvänds åtkomsttoken i AzureDefault, AzureInteractive, AzureDeviceCode lägen.
azure-scope Tokenomfång Nej Microsoft Entra-omfångssträng att begära en token med.
use-device-code Använd enhetskodmetod eller inte Nej --auth AzureDeviceCodeMotsvarar .
password Klienthemlighet för tjänstens huvudnamn Ja för AzureClientSecret. Hemlighet/lösenord för tjänstens huvudnamn när du använder AzureClientSecret läge.
åtkomsttoken JWT-åtkomsttoken Nej Om åtkomsttoken hämtas externt kan du ange den med den här parametern. I det här fallet auth tillåts inte parametern.

Exempel

beskrivning CLI-kommando
AzureDefault trino-cli --server cluster1.pool1.region.projecthilo.net
Interaktiv webbläsarautentisering trino-cli --server cluster1.pool1.region1.projecthilo.net --auth AzureInteractive
Använda tokencache trino-cli --server cluster1.pool1.region1.projecthilo.net --auth AzureInteractive --azure-use-token-cache
Tjänstens huvudnamn med hemlighet 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
Tjänstens huvudnamn och skyddade certifikat (lösenord uppmanas) 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

Felsöka

MissingAccessToken eller InvalidAccessToken

CLI visar något av felen:

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

Prova följande steg för att lösa problemet:

  1. Avsluta Trino CLI.
  2. Kör az logout
  3. Kör az login -t <your-trino-cluster-tenantId>
  4. Nu bör det här kommandot fungera:
trino-cli --server <cluster-endpoint>
  1. Du kan också ange autentiserings-/klientparametrar:
trino-cli --server <cluster-endpoint> --auth AzureInteractive --azure-tenant <trino-cluster-tenantId>

403 – Förbjuden

CLI visar fel:

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

Lös problemet genom att lägga till användare eller grupp i auktoriseringsprofilen.