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
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
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, AzureClientCertificate elementu . |
Identyfikator klienta jednostki usługi/aplikacji. |
azure-tenant | Identyfikator dzierżawy | Tak dla AzureClientSecret, AzureClientCertificate elementu . |
Identyfikator dzierżawy entra firmy Microsoft. |
azure-certificate-path | Ścieżka pliku do certyfikatu | Tak dla AzureClientCertificate elementu . |
Ś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 AzureClientSecret elementu . |
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:
- Zamknij interfejs wiersza polecenia Trino.
- Uruchom polecenie
az logout
- Uruchom polecenie
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
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.