Trino CLI
Ważny
Usługa Azure HDInsight w usłudze AKS została wycofana 31 stycznia 2025 r. Dowiedz się więcej o z tego ogłoszenia.
Aby uniknąć nagłego kończenia obciążeń, należy przeprowadzić migrację obciążeń do usługi Microsoft Fabric lub równoważnego produktu platformy Azure.
Ważny
Ta funkcja jest obecnie dostępna w wersji zapoznawczej. Dodatkowe Warunki Użytkowania dla wersji zapoznawczych Microsoft Azure zawierają więcej warunków prawnych, które mają zastosowanie do funkcji platformy Azure będących w wersji beta, zapoznawczej lub jeszcze niedostępnych ogólnie. Aby uzyskać informacje na temat tej konkretnej wersji zapoznawczej, zobacz informacje o wersji zapoznawczej Azure HDInsight na AKS. W przypadku pytań lub sugestii dotyczących funkcji prześlij żądanie na AskHDInsight z wszelkimi szczegółami i obserwuj nas, aby śledzić aktualizacje dotyczące Azure HDInsight Community.
CLI Trino dla HDInsight na AKS udostępnia terminalową powłokę interaktywną do uruchamiania zapytań.
Instalowanie w systemie Windows
W przypadku systemu Windows interfejs wiersza polecenia Trino dla HDInsight na AKS jest instalowany za pośrednictwem pakietu MSI, co zapewnia dostęp do CLI za pośrednictwem wiersza polecenia systemu Windows (CMD) lub programu PowerShell. Podczas instalowania podsystemu Windows dla systemu Linux (WSL) zobacz Install on Linux.
Wymagania
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
istnieje.
Instalowanie lub aktualizowanie
Pakiet MSI służy do instalowania lub aktualizowania Trino CLI dla HDInsight na AKS w systemie Windows.
Pobierz i zainstaluj najnowszą wersję interfejsu wiersza polecenia Trino. Gdy instalator zapyta, czy może wprowadzić zmiany na 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 Trino CLI: https://aka.ms/InstallTrinoCLIWindows
Uruchom interfejs wiersza poleceń (CLI) 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>
Notatka
Jeśli uruchamiasz system operacyjny bez interfejsu graficznego (bez przeglądarki internetowej), Trino CLI wyświetli monit o użycie kodu urządzenia do uwierzytelniania. Można również określić parametr wiersza polecenia --auth AzureDeviceCode
, 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 > sieci & Internet > Proxy. Skontaktuj się z administratorem systemu, aby uzyskać wymagane ustawienia lub w sytuacjach, gdy Twoja maszyna może być zarządzana przez konfigurację lub wymaga zaawansowanej konfiguracji.
Aby pobrać pakiet instalacyjny MSI, serwer proxy musi zezwolić na połączenia HTTPS z następującymi adresami:
https://aka.ms/
https://hdionaksresources.blob.core.windows.net/
Odinstalowywanie
Interfejs wiersza polecenia Trino można odinstalować z listy "Aplikacje i funkcje" systemu Windows. Aby odinstalować, wykonaj następujące kroki:
Platforma | Instrukcje |
---|---|
Windows 10 | Uruchom aplikację > Ustawienia > |
Windows 8 i Windows 7 | Uruchom > Panelu sterowania > Programy > Odinstaluj program |
Na tym ekranie wpisz Trino na pasku wyszukiwania programu. Program do odinstalowania jest wymieniony jako "HDInsight Trino CLI <wersja>". Wybierz tę aplikację, a następnie kliknij przycisk Odinstaluj.
Instalowanie w systemie Linux
Interfejs wiersza polecenia Trino udostępnia interaktywną powłokę terminalową do uruchamiania zapytań. Możesz ręcznie zainstalować interfejs wiersza polecenia Trino w systemie Linux, wybierając opcję Zainstaluj skrypt.
Wymagania
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 CLI, uruchamiając curl.
curl -L https://aka.ms/InstallTrinoCli | bash
Skrypt można również pobrać i uruchomić lokalnie. Może być konieczne ponowne uruchomienie powłoki, aby zmiany zaczęły obowiązywać.
Uruchom interfejs wiersza poleceń Trino
Teraz możesz uruchomić Trino CLI za pomocą polecenia "trino-cli" w powłoce i połączyć się z klastrem:
trino-cli --server <cluster_endpoint>
Notatka
Jeśli uruchamiasz system operacyjny headless (bez przeglądarki internetowej), interfejs wiersza polecenia Trino zasugeruje użycie kodu urządzenia do uwierzytelniania. Można również określić parametr wiersza polecenia --auth AzureDeviceCode
, 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 programu curl związany z parametrem -L lub komunikat o błędzie zawierający tekst "Obiekt przeniesiony", spróbuj 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
Problem może również wystąpić, jeśli nie uruchomisz powłoki ponownie po 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/
Odinstaluj
Aby usunąć wszystkie pliki trino-cli, uruchom polecenie:
rm $HOME/bin/trino-cli
rm -r $HOME/lib/trino-cli
Uwierzytelnianie
Interfejs wiersza polecenia Trino wspiera różne metody uwierzytelniania 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 Authentication.
Opis parametrów dostępny również w interfejsie wiersza polecenia:
trino-cli --help
Parametr | Znaczenie | Wymagane | Opis |
---|---|---|---|
Auth | Nazwa metody uwierzytelniania | Nie | Określa sposób podania poświadczeń użytkownika. Jeśli nie określono, używa AzureDefault . |
azure-client | Identyfikator klienta | Tak dla AzureClientSecret, AzureClientCertificate . |
Identyfikator klienta jednostki usługi/aplikacji. |
azure-tenant | Identyfikator dzierżawy | Tak dla AzureClientSecret, AzureClientCertificate . |
Identyfikator najemcy Microsoft Entra. |
ścieżka certyfikatu Azure | Ścieżka pliku do certyfikatu | Tak za AzureClientCertificate . |
Ś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 tokenu dostępu, jest on buforowany i ponownie używany w trybach AzureDefault, AzureInteractive, AzureDeviceCode . |
azure-scope | Zakres tokenu | Nie | Ciąg zakresu Entra firmy Microsoft w celu żądania tokenu za pomocą polecenia . |
użyj-kodu-urządzenia | Użyj metody kodu urządzenia lub nie | Nie | Odpowiednik --auth AzureDeviceCode . |
hasło | Klucz tajny klienta dla głównego serwisowego | Tak dla AzureClientSecret . |
Sekret/hasło podmiotu usługi podczas korzystania z trybu AzureClientSecret . |
token dostępu | Token dostępu JWT | Nie | Jeśli token dostępu został uzyskany z zewnętrznego źródła, to można go podać przy użyciu tego parametru. W tym przypadku parametr auth nie jest dozwolony. |
Przykłady
Opis | Polecenie CLI |
---|---|
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 |
Wykorzystaj pamięć podręczną 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 |
Główna nazwa usługi i certyfikat chroniony (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
BrakującyTokenDostępu lub NieprawidłowyTokenDostępu
Interfejs wiersza polecenia (CLI) 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:
- Zamknij interfejs wiersza polecenia Trino.
- Uruchom
az logout
- Uruchom
az login -t <your-trino-cluster-tenantId>
- Teraz to polecenie powinno działać:
trino-cli --server <cluster-endpoint>
- Alternatywnie określ parametry uwierzytelniania/dzierżawy:
trino-cli --server <cluster-endpoint> --auth AzureInteractive --azure-tenant <trino-cluster-tenantId>
403 Zabronione
CLI 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 .