Udostępnij za pośrednictwem


Trino CLI

Uwaga

Wycofamy usługę Azure HDInsight w usłudze AKS 31 stycznia 2025 r. Przed 31 stycznia 2025 r. należy przeprowadzić migrację obciążeń do usługi Microsoft Fabric lub równoważnego produktu platformy Azure, aby uniknąć nagłego zakończenia obciążeń. Pozostałe klastry w ramach subskrypcji zostaną zatrzymane i usunięte z hosta.

Tylko podstawowa pomoc techniczna będzie dostępna do daty wycofania.

Ważne

Ta funkcja jest aktualnie dostępna jako funkcja podglądu. Dodatkowe warunki użytkowania dla wersji zapoznawczych platformy Microsoft Azure obejmują więcej warunków prawnych, które dotyczą funkcji platformy Azure, które znajdują się w wersji beta, w wersji zapoznawczej lub w inny sposób nie zostały jeszcze wydane w wersji ogólnodostępnej. Aby uzyskać informacje o tej konkretnej wersji zapoznawczej, zobacz Informacje o wersji zapoznawczej usługi Azure HDInsight w usłudze AKS. W przypadku pytań lub sugestii dotyczących funkcji prześlij żądanie w usłudze AskHDInsight , aby uzyskać szczegółowe informacje i postępuj zgodnie z nami, aby uzyskać więcej aktualizacji w społeczności usługi Azure HDInsight.

Interfejs wiersza polecenia Trino dla usługi HDInsight w usłudze AKS udostępnia interaktywną powłokę opartą na terminalu na potrzeby uruchamiania zapytań.

Zainstaluj w systemie Windows

W przypadku systemu Windows interfejs wiersza polecenia Trino dla usługi HDInsight w usłudze AKS jest instalowany za pośrednictwem tożsamości usługi zarządzanej, która zapewnia dostęp do interfejsu wiersza polecenia za pośrednictwem wiersza polecenia systemu Windows (CMD) lub programu PowerShell. Podczas instalowania programu Podsystem Windows dla systemu Linux (WSL) zobacz Instalowanie w systemie Linux.

Wymagania

  • Środowisko Java 8 lub 11.

  • Dodaj java.exe do ścieżki lub zdefiniuj zmienną środowiskową JAVA_HOME wskazującą katalog instalacyjny środowiska JRE, tak aby %JAVA_HOME%\bin\java.exe istniał.

Instalowanie lub aktualizowanie

Pakiet MSI służy do instalowania lub aktualizowania interfejsu wiersza polecenia Trino dla usługi HDInsight w usłudze AKS w systemie Windows.

Pobierz i zainstaluj najnowszą wersję interfejsu wiersza polecenia Trino. Gdy w Instalatorze zostanie wyświetlona prośba o możliwość dokonania zmian w komputerze, kliknij pole „Tak“. Po zakończeniu instalacji należy zamknąć i ponownie otworzyć wszystkie aktywne okna wiersza polecenia systemu Windows lub programu PowerShell, aby użyć interfejsu wiersza polecenia Trino.

Pobierz interfejs wiersza polecenia Trino: https://aka.ms/InstallTrinoCLIWindows

Uruchamianie interfejsu wiersza polecenia Trino

Teraz możesz uruchomić interfejs wiersza polecenia Trino przy użyciu polecenia "trino-cli" w wierszu polecenia i połączyć się z klastrem:

trino-cli --server <cluster_endpoint>

Uwaga

Jeśli uruchomisz system operacyjny bez użycia głowy (bez przeglądarki internetowej), interfejs wiersza polecenia Trino wyświetli monit o użycie kodu urządzenia do uwierzytelniania. Można również określić parametr --auth AzureDeviceCode wiersza polecenia, aby wymusić użycie kodu urządzenia. W takim przypadku musisz otworzyć przeglądarkę na innym urządzeniu/systemie operacyjnym, wprowadzić wyświetlany i uwierzytelniony kod, a następnie wrócić do interfejsu wiersza polecenia.

Rozwiązywanie problemów

Poniżej przedstawiono niektóre typowe problemy występujące podczas instalowania interfejsu wiersza polecenia Trino w systemie Windows.

Serwer proxy blokuje połączenie

Jeśli nie możesz pobrać instalatora MSI, ponieważ serwer proxy blokuje połączenie, upewnij się, że masz prawidłowo skonfigurowany serwer proxy. W systemie Windows 10 te ustawienia są zarządzane w okienku Ustawienia > sieci i internetowego > serwera proxy. Skontaktuj się z administratorem systemu, aby uzyskać wymagane ustawienia lub w sytuacjach, w których maszyna może być zarządzana konfiguracją lub wymagają zaawansowanej konfiguracji.

Aby uzyskać tożsamość usługi zarządzanej, serwer proxy musi zezwolić na połączenia HTTPS z następującymi adresami:

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

Odinstaluj program

Interfejs wiersza polecenia Trino można odinstalować z listy "Aplikacje i funkcje" systemu Windows. Aby odinstalować:

Platforma Instrukcje
Windows 10 Uruchom > aplikację Ustawienia >
Windows 8 i Windows 7 Uruchamianie > programów Panel sterowania > > Odinstalowywanie programu

Na tym ekranie wpisz Trino na pasku wyszukiwania programu. Program do odinstalowania jest wymieniony jako "Wersja> interfejsu wiersza polecenia <trino usługi HDInsight". Wybierz tę aplikację, a następnie kliknij przycisk Odinstaluj.

Instalowanie w systemie Linux

Interfejs wiersza polecenia Trino udostępnia interaktywną powłokę opartą na terminalu na potrzeby uruchamiania zapytań. Możesz ręcznie zainstalować interfejs wiersza polecenia Trino w systemie Linux, wybierając opcję Zainstaluj skrypt.

Wymagania

  • Środowisko Java 8 lub 11.

  • Dodaj język Java do ścieżki lub zdefiniuj zmienną środowiskową JAVA_HOME wskazującą katalog instalacyjny środowiska JRE, tak aby $JAVA_HOME/bin/java istnieje.

Instalowanie lub aktualizowanie

Zarówno instalowanie, jak i aktualizowanie interfejsu wiersza polecenia wymaga ponownego uruchomienia skryptu instalacji. Zainstaluj interfejs wiersza polecenia, uruchamiając polecenie curl.

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

Skrypt można również pobrać i uruchomić lokalnie. Aby zmiany zostały zastosowane, może być konieczne ponowne uruchomienie powłoki.

Uruchamianie interfejsu wiersza polecenia Trino

Teraz możesz uruchomić interfejs wiersza polecenia Trino za pomocą polecenia "trino-cli" z powłoki i połączyć się z klastrem:

trino-cli --server <cluster_endpoint>

Uwaga

Jeśli uruchomisz system operacyjny bez funkcji headless (bez przeglądarki internetowej) interfejs wiersza polecenia Trino wyświetli monit o użycie kodu urządzenia do uwierzytelniania. Można również określić parametr --auth AzureDeviceCode wiersza polecenia, aby wymusić użycie kodu urządzenia. W takim przypadku musisz otworzyć przeglądarkę na innym urządzeniu/systemie operacyjnym, wprowadzić wyświetlany i uwierzytelniony kod, a następnie wrócić do interfejsu wiersza polecenia.

Rozwiązywanie problemów

Poniżej przedstawiono niektóre typowe problemy występujące podczas instalacji ręcznej.

Błąd curl "Obiekt przeniesiony"

Jeśli wystąpi błąd z narzędzia curl związany z parametrem -L lub komunikatem o błędzie zawierającym tekst "Obiekt przeniesiony", spróbuje użyć pełnego adresu URL zamiast przekierowania aka.ms:

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

Nie znaleziono polecenia trino-cli

hash -r

Ten problem może także wystąpić, jeśli nie uruchomiono ponownie powłoki po zakończeniu instalacji. Upewnij się, że lokalizacja polecenia trino-cli ($HOME/bin) znajduje się w $PATH.

Serwer proxy blokuje połączenie

Aby uzyskać skrypty instalacji, serwer proxy musi zezwolić na połączenia HTTPS z następującymi adresami:

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

Odinstalowywanie

Aby usunąć wszystkie pliki trino-cli, uruchom polecenie:

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

Uwierzytelnianie

Interfejs wiersza polecenia Trino obsługuje różne metody uwierzytelniania firmy Microsoft Entra przy użyciu parametrów wiersza polecenia. W poniższej tabeli opisano ważne parametry i metody uwierzytelniania, aby uzyskać więcej informacji, zobacz Uwierzytelnianie.

Opis parametrów dostępny również w interfejsie wiersza polecenia:

trino-cli --help
Parametr Znaczenie Wymagania opis
auth Nazwa metody uwierzytelniania Nie. Określa sposób podania poświadczeń użytkownika. Jeśli nie zostanie określony, użyj polecenia AzureDefault.
azure-client Client ID Tak dla AzureClientSecret, AzureClientCertificateelementu . Identyfikator klienta jednostki usługi/aplikacji.
azure-tenant Identyfikator dzierżawy Tak dla AzureClientSecret, AzureClientCertificateelementu . Identyfikator dzierżawy entra firmy Microsoft.
azure-certificate-path Ścieżka pliku do certyfikatu Tak dla AzureClientCertificateelementu . Ścieżka do pliku pfx/pem z certyfikatem.
azure-use-token-cache Używanie pamięci podręcznej tokenów lub nie Nie. W przypadku podania token dostępu jest buforowany i ponownie używany w AzureDefault, AzureInteractive, AzureDeviceCode trybach.
azure-scope Zakres tokenu Nie. Ciąg zakresu Entra firmy Microsoft w celu żądania tokenu za pomocą polecenia .
use-device-code Używanie metody kodu urządzenia lub nie Nie. Odpowiednik elementu --auth AzureDeviceCode.
hasło Klucz tajny klienta dla jednostki usługi Tak dla AzureClientSecretelementu . Wpis tajny/hasło dla jednostki usługi w przypadku korzystania z AzureClientSecret trybu.
token dostępu Token dostępu JWT Nie. Jeśli token dostępu uzyskany zewnętrznie, można podać przy użyciu tego parametru. W tym przypadku auth parametr nie jest dozwolony.

Przykłady

opis Polecenie interfejsu wiersza polecenia
AzureDefault trino-cli --server cluster1.pool1.region.projecthilo.net
Uwierzytelnianie za pomocą przeglądarki interakcyjnej trino-cli --server cluster1.pool1.region1.projecthilo.net --auth AzureInteractive
Używanie pamięci podręcznej tokenów trino-cli --server cluster1.pool1.region1.projecthilo.net --auth AzureInteractive --azure-use-token-cache
Jednostka usługi z wpisem tajnym 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
Jednostka usługi i chroniony certyfikat (zostanie wyświetlony monit o hasło) 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

Rozwiązywanie problemów

MissingAccessToken lub InvalidAccessToken

Interfejs wiersza polecenia wyświetla jeden z błędów:

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

Aby rozwiązać ten problem, spróbuj wykonać następujące czynności:

  1. Zamknij interfejs wiersza polecenia Trino.
  2. Uruchom polecenie az logout
  3. Uruchom polecenie az login -t <your-trino-cluster-tenantId>
  4. Teraz to polecenie powinno działać:
trino-cli --server <cluster-endpoint>
  1. Alternatywnie określ parametry uwierzytelniania/dzierżawy:
trino-cli --server <cluster-endpoint> --auth AzureInteractive --azure-tenant <trino-cluster-tenantId>

403 Zabronione

Interfejs wiersza polecenia wyświetla błąd:

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

Aby rozwiązać ten problem, dodaj użytkownika lub grupę do profilu autoryzacji.