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
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
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:
- Ukončete Trino CLI.
- Spuštěním příkazu
az logout
- Spuštěním příkazu
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í 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.