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
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
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:
- Ukončete Trino CLI.
- Spuštění
az logout
- Spuštění
az login -t <your-trino-cluster-tenantId>
- Teď by měl tento příkaz fungovat:
trino-cli --server <cluster-endpoint>
- 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.