Sdílet prostřednictvím


Trino CLI

Poznámka:

Azure HDInsight vyřadíme ze služby AKS 31. ledna 2025. Před 31. lednem 2025 budete muset migrovat úlohy do Microsoft Fabric nebo ekvivalentního produktu Azure, abyste se vyhnuli náhlému ukončení úloh. Zbývající clustery ve vašem předplatném se zastaví a odeberou z hostitele.

Do data vyřazení bude k dispozici pouze základní podpora.

Důležité

Tato funkce je aktuálně dostupná jako ukázková verze. Doplňkové podmínky použití pro Microsoft Azure Preview obsahují další právní podmínky, které se vztahují na funkce Azure, které jsou v beta verzi, ve verzi Preview nebo ještě nejsou vydány v obecné dostupnosti. Informace o této konkrétní verzi Preview najdete v tématu Azure HDInsight o službě AKS ve verzi Preview. Pokud máte dotazy nebo návrhy funkcí, odešlete prosím žádost na AskHDInsight s podrobnostmi a sledujte nás o dalších aktualizacích v komunitě Azure HDInsight.

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

Instalovat do Windows

V případě Windows se rozhraní příkazového řádku Trino pro HDInsight v AKS instaluje prostřednictvím MSI, která poskytuje přístup k rozhraní příkazového řádku systému Windows prostřednictvím příkazového řádku systému Windows (CMD) nebo PowerShellu. Při instalaci pro Subsystém Windows pro Linux (WSL) viz Instalace v Linuxu.

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, který existuje %JAVA_HOME%\bin\java.exe .

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 provádět změny v počítači, klikněte do 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 bezobrátovém operačním systému (bez webového prohlížeče), zobrazí se rozhraní příkazového řádku Trino cli výzvu k použití kódu zařízení pro ověřování. Můžete také zadat parametr --auth AzureDeviceCode příkazového řádku, který se má vynutit pomocí 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ému

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ítě a internetového > proxy serveru. 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/

Odinstalace produktu

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

Platforma Pokyny
Windows 10 Spustit > aplikaci Nastavení >
Windows 8 a Windows 7 Spuštění > programu Ovládací panely > > Odinstalace programu

Jakmile budete na této obrazovce, napište Trino do panelu hledání programu. Program, který se má odinstalovat, je v seznamu verze rozhraní příkazového řádku <>HDInsight Trino. Vyberte tuto aplikaci a klikněte na tlačítko Odinstalovat.

Instalace v systému Linux

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

Tento skript se také dá stáhnout a spustit místně. Možná bude nutné restartovat vaše prostředí, aby se změny projevily.

Spuštění 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 --auth AzureDeviceCode příkazového řádku, který se má vynutit pomocí 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ému

Toto jsou některé běžné problémy, které se vyskytují během ruční instalace.

Chyba curl "Objekt přesunut"

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 také dojít, pokud jste po instalaci nerestartovali vaše 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/

Odinstalace

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

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

Ověřování

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 najdete v tématu Ověřování.

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

trino-cli --help
Parametr Význam Požadováno Popis
auth Název metody ověřování No Určuje způsob zadání přihlašovacích údajů uživatele. Pokud není zadáno, použije AzureDefault.
azure-client Client ID Ano pro AzureClientSecret, AzureClientCertificate. ID klienta instančního objektu nebo aplikace.
azure-tenant ID tenanta Ano pro AzureClientSecret, AzureClientCertificate. ID tenanta Microsoft Entra.
azure-certificate-path Cesta k souboru k certifikátu Ano pro AzureClientCertificate. Cesta k souboru pfx/pem s certifikátem
azure-use-token-cache Použití mezipaměti tokenů nebo ne No 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 Obor tokenu No Řetězec oboru Microsoft Entra pro vyžádání tokenu s.
use-device-code Použití metody kódu zařízení nebo ne No Ekvivalent k --auth AzureDeviceCode.
Heslo Tajný klíč klienta pro instanční objekt Ano pro AzureClientSecret. Tajný klíč/heslo instančního objektu při použití AzureClientSecret režimu.
přístupový token Přístupový token JWT No Pokud se přístupový token získá externě, můžete ho zadat pomocí tohoto parametru. V tomto případě auth není parametr povolený.

Příklady

Popis Příkaz rozhraní příkazového řádku
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
Instanční objekt s tajným kódem 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
Instanční objekt a chráněný certifikát (zobrazí se výzva k 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í potíží

MissingAccessToken nebo InvalidAccessToken

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ím příkazu az logout
  3. Spuštěním příkazu 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í nebo tenanta:
trino-cli --server <cluster-endpoint> --auth AzureInteractive --azure-tenant <trino-cluster-tenantId>

403 – Zakázáno

Rozhraní příkazového řádku zobrazuje 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.