Sdílet prostřednictvím


Trino CLI

Důležitý

Azure HDInsight v AKS byl vyřazen 31. ledna 2025. Dozvědět se více o tomto oznámení .

Abyste se vyhnuli náhlému ukončení úloh, musíte migrovat úlohy do Microsoft Fabric nebo ekvivalentního produktu Azure.

Důležitý

Tato funkce je aktuálně ve verzi Preview. Doplňkové podmínky použití pro Microsoft Azure Preview obsahují další právní podmínky, které se vztahují na funkce Azure, jež jsou v beta verzi, náhledové verzi nebo ještě nebyly vydány k obecné dostupnosti. Informace o konkrétní verzi Preview najdete v sekci Azure HDInsight na platformě AKS v režimu Preview. Pokud máte dotazy nebo návrhy funkcí, odešlete prosím žádost o AskHDInsight s podrobnostmi a sledujte nás pro další aktualizace komunity Azure HDInsight .

Rozhraní příkazového řádku Trino pro HDInsight v AKS poskytuje terminálové interaktivní prostředí pro spouštění dotazů.

Nainstalovat na Windows

V případě Windows se rozhraní příkazového řádku Trino pro HDInsight v AKS instaluje prostřednictvím instalačního balíčku MSI, který umožňuje přístup k příkazovému řádku systému Windows (CMD) nebo PowerShellu. Při instalaci subsystému Windows pro Linux (WSL) se podívejte do části Instalace v systému Linux.

Požadavky

  • Java 8 nebo 11.

  • Přidejte java.exe do path nebo definujte JAVA_HOME proměnnou prostředí odkazující na instalační adresář JRE, aby %JAVA_HOME%\bin\java.exe existuje.

Instalace nebo aktualizace

Balíček MSI slouží k instalaci nebo aktualizaci rozhraní příkazového řádku Trino pro HDInsight v AKS ve Windows.

Stáhněte a nainstalujte nejnovější verzi rozhraní příkazového řádku Trino. Když se instalační program zeptá, jestli může v počítači provádět změny, klikněte na pole Ano. Po dokončení instalace budete muset zavřít a znovu otevřít všechny aktivní okno příkazového řádku Windows nebo Okna PowerShellu, abyste mohli použít rozhraní příkazového řádku Trino.

Stáhnout Trino CLI: https://aka.ms/InstallTrinoCLIWindows

Spuštění rozhraní příkazového řádku Trino

Teď můžete rozhraní příkazového řádku Trino spustit pomocí trino-cli a připojit se ke clusteru:

trino-cli --server <cluster_endpoint>

Poznámka

Pokud běžíte na bezhlavém operačním systému (bez webového prohlížeče), Trino CLI vás vyzve k použití kódu zařízení pro ověření. Můžete také zadat parametr příkazového řádku --auth AzureDeviceCode, aby se vynutilo použití kódu zařízení. V takovém případě musíte otevřít prohlížeč na jiném zařízení nebo operačním systému, zadat zobrazený kód a ověřit ho a pak se vrátit k rozhraní příkazového řádku.

Řešení problémů

Tady je několik běžných problémů při instalaci rozhraní příkazového řádku Trino ve Windows.

Proxy blokuje připojení

Pokud instalační program MSI nemůžete stáhnout, protože váš proxy server blokuje připojení, ujistěte se, že máte správně nakonfigurovaný proxy server. Pro Windows 10 se tato nastavení spravují v podokně Nastavení > Síť & Internet > Proxy. Požádejte správce systému o požadovaná nastavení nebo o situace, kdy může být váš počítač spravovaný konfigurací nebo vyžaduje pokročilé nastavení.

Aby bylo možné získat MSI, musí váš proxy server povolit připojení HTTPS na následující adresy:

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

Odinstalovat

Rozhraní příkazového řádku Trino můžete odinstalovat ze seznamu "Aplikace a funkce" pro Windows. Chcete-li odinstalovat:

Platforma Instrukce
Windows 10 Spuštění > nastavení > aplikace
Windows 8 a Windows 7 Spuštění > Ovládacích panelů > Programy > Odinstalace programu

Jakmile budete na této obrazovce, napište Trino do panelu hledání programu. Program k odinstalaci je seznamován jako „HDInsight Trino CLI <verze>.“ Vyberte tuto aplikaci a klikněte na tlačítko Odinstalovat.

Instalace v Linuxu

Rozhraní příkazového řádku Trino poskytuje terminálové interaktivní prostředí pro spouštění dotazů. Můžete ručně nainstalovat Rozhraní příkazového řádku Trino v Linuxu výběrem možnosti Instalovat skript.

Požadavky

  • Java 8 nebo 11.

  • Přidejte java do path nebo definujte JAVA_HOME proměnnou prostředí odkazující na instalační adresář JRE, aby $JAVA_HOME/bin/java existuje.

Instalace nebo aktualizace

Instalace i aktualizace rozhraní příkazového řádku vyžaduje opětovné spuštění instalačního skriptu. Nainstalujte rozhraní příkazového řádku spuštěním nástroje curl.

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

Skript lze také stáhnout a spustit místně. Možná budete muset restartovat shell, aby se změny projevily.

Spusťte rozhraní příkazového řádku Trino

Teď můžete spustit rozhraní příkazového řádku Trino pomocí příkazu trino-cli z prostředí a připojit se ke clusteru:

trino-cli --server <cluster_endpoint>

Poznámka

Pokud spustíte bezobsadový operační systém (bez webového prohlížeče) Trino CLI zobrazí výzvu k použití kódu zařízení pro ověřování. Můžete také zadat parametr příkazového řádku --auth AzureDeviceCode pro vynucení použití kódu zařízení. V takovém případě potřebujete otevřít prohlížeč na jiném zařízení nebo operačním systému, zadat zobrazený kód a ověřit ho a pak se vrátit k rozhraní příkazového řádku.

Řešení problémů

Tady jsou některé běžné problémy, ke které dochází při ruční instalaci.

curl "Objekt přesunut" chyba

Pokud se zobrazí chyba z curl související s parametrem -L nebo chybovou zprávou obsahující text "Objekt přesunut", pokusí se místo přesměrování aka.ms použít úplnou adresu URL:

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

příkaz trino-cli nebyl nalezen

hash -r

K tomuto problému může dojít také v případě, že jste po instalaci nerestartovali prostředí. Ujistěte se, že je umístění příkazu trino-cli ($HOME/bin) ve vašem $PATH.

Proxy blokuje připojení

Aby bylo možné získat instalační skripty, musí proxy server povolit připojení HTTPS k následujícím adresám:

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

Odinstalovat

Pokud chcete odebrat všechny soubory trino-cli, spusťte:

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

Autentizace

Trino CLI podporuje různé metody ověřování Microsoft Entra pomocí parametrů příkazového řádku. Následující tabulka popisuje důležité parametry a metody ověřování, další informace naleznete v tématu Ověřování.

Popis parametrů dostupný také v rozhraní příkazového řádku:

trino-cli --help
Parametr Význam Povinný Popis
autentizace Název metody ověřování Ne Určuje způsob zadání přihlašovacích údajů uživatele. Pokud není zadáno, použije AzureDefault.
Azure klient ID klienta Ano pro AzureClientSecret, AzureClientCertificate. ID klienta služby hlavního objektu nebo aplikace.
Azure-klient ID nájemníka Ano pro AzureClientSecret, AzureClientCertificate. ID tenanta systému Microsoft Entra.
cesta certifikátu Azure Cesta k souboru certifikátu Ano pro AzureClientCertificate. Cesta k souboru pfx/pem s certifikátem
azure-use-token-cache Použít mezipaměť tokenů či nikoliv? Ne Pokud je k dispozici, přístupový token se ukládá do mezipaměti a používá se opakovaně v AzureDefault, AzureInteractive, AzureDeviceCode režimech.
azure-scope Rozsah tokenu Ne Řetězec oboru Microsoft Entra k vyžádání tokenu.
použijte-kód-zařízení Použít metodu kódu zařízení nebo ne Ne Ekvivalent --auth AzureDeviceCode.
heslo Tajný klíč klienta pro služebního uživatele Ano pro AzureClientSecret. Heslo pro zástupce služby při použití režimu AzureClientSecret.
přístupový token Přístupový token JWT Ne Pokud se přístupový token získá externě, můžete ho zadat pomocí tohoto parametru. V tomto případě není povolený parametr auth.

Příklady

Popis Příkaz CLI
AzureDefault trino-cli --server cluster1.pool1.region.projecthilo.net
Interaktivní ověřování v prohlížeči trino-cli --server cluster1.pool1.region1.projecthilo.net --auth AzureInteractive
Použití mezipaměti tokenů trino-cli --server cluster1.pool1.region1.projecthilo.net --auth AzureInteractive --azure-use-token-cache
Služební identita s tajemstvím 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
Hlavní služba a chráněný certifikát (bude vyžadováno zadání hesla) 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

Odstraňování problémů

ChybíAccessToken nebo NeplatnýAccessToken

Rozhraní příkazového řádku zobrazuje některou z chyb:

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

Pokud chcete tento problém vyřešit, vyzkoušejte následující kroky:

  1. Ukončete Trino CLI.
  2. Spuštění az logout
  3. Spuštění az login -t <your-trino-cluster-tenantId>
  4. Teď by měl tento příkaz fungovat:
trino-cli --server <cluster-endpoint>
  1. Alternativně zadejte parametry ověřování a/nebo tenanta:
trino-cli --server <cluster-endpoint> --auth AzureInteractive --azure-tenant <trino-cluster-tenantId>

403 Zakázáno

Příkazová řádka ukazuje chybu:

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

Pokud chcete tento problém vyřešit, přidejte uživatele nebo skupinu do autorizačního profilu.