Trino CLI
Note
Azure HDInsight on AKS は 2025 年 1 月 31 日に廃止されます。 2025 年 1 月 31 日より前に、ワークロードを Microsoft Fabric または同等の Azure 製品に移行することで、ワークロードの突然の終了を回避する必要があります。 サブスクリプション上に残っているクラスターは停止され、ホストから削除されることになります。
提供終了日まで基本サポートのみ利用できます。
重要
現在、この機能はプレビュー段階にあります。 ベータ版、プレビュー版、または一般提供としてまだリリースされていない Azure の機能に適用されるその他の法律条項については、「Microsoft Azure プレビューの追加の使用条件」に記載されています。 この特定のプレビューについては、「Microsoft HDInsight on AKS のプレビュー情報」を参照してください。 質問や機能の提案については、詳細を記載した要求を AskHDInsight で送信してください。また、その他の更新情報については、Azure HDInsight コミュニティのフォローをお願いいたします。
Trino CLI for HDInsight on AKS には、クエリを実行するためのターミナル ベースの対話型シェルが用意されています。
Windows へのインストール
Windows では、MSI を使用して Trino CLI for HDInsight on AKS がインストールされるので、Windows コマンド プロンプト (CMD) または PowerShell から CLI にアクセスできます。 Linux 用 Windows サブシステム (WSL) 向けにインストールする場合は、「Linux へのインストール」を参照してください。
必要条件
PATH に java.exe を追加するか、JRE インストール ディレクトリーを指す JAVA_HOME 環境変数を
%JAVA_HOME%\bin\java.exe
が存在するように定義します。
インストールまたは更新
MSI パッケージは、Windows で Trino CLI for HDInsight on AKS をインストールまたは更新するために使用されます。
Trino CLI の最新のリリースをダウンロードしてインストールします。 インストーラーによって、コンピューターに変更を加えるかどうかを尋ねるメッセージが表示されたら、[はい] をクリックします。 インストールが完了したら、Trino CLI を使用するには、アクティブな Windows コマンド プロンプトまたは PowerShell のウィンドウを閉じてから再度開く必要があります。
Trino CLI のダウンロード: https://aka.ms/InstallTrinoCLIWindows
Trino CLI を実行する
コマンド プロンプトで "trino-cli" を使用して Trino CLI を実行し、クラスターに接続できます。
trino-cli --server <cluster_endpoint>
Note
ヘッドレス OS (Web ブラウザーなし) で実行する場合、Trino CLI では認証にデバイス コードを使用することが要求されます。 コマンド ライン パラメーターの --auth AzureDeviceCode
を指定して、デバイス コードを強制的に使用することもできます。 この場合は、別のデバイス/OS でブラウザーを開き、表示されたコードを入力して認証した後、CLI に戻る必要があります。
トラブルシューティング
ここでは、Windows に Trino CLI をインストールする際に発生する一般的な問題をいくつか示します。
プロキシによる接続のブロック
プロキシにより接続がブロックされているため MSI インストーラーをダウンロードできない場合、プロキシを正しく構成していることを確認します。 Windows 10 の場合、これらの設定は、[設定] > [ネットワークとインターネット] > [プロキシ] ペインで管理されます。 必要な設定またはお使いのマシンの構成が管理されている状況や高度なセットアップが必要な状況については、システム管理者にお問い合わせください。
MSI を取得するには、プロキシで次のアドレスへの HTTPS 接続を許可する必要があります。
https://aka.ms/
https://hdionaksresources.blob.core.windows.net/
アンインストール
Windows の "アプリと機能" の一覧から Trino CLI をアンインストールできます。 アンインストールするには、次のようにします。
プラットフォーム | Instructions |
---|---|
Windows 10 | [スタート] > [設定] > [アプリ] |
Windows 8 および Windows 7 | [スタート] > [コントロール パネル] > [プログラム] > [プログラムのアンインストール] |
この画面に移動したら、プログラムの検索バーに "Trino" と入力します。 アンインストールするプログラムは、"HDInsight Trino CLI <バージョン>" として表示されます。 このアプリケーションを選択し、[アンインストール] ボタンをクリックします。
Linux をインストールする
Trino CLI には、クエリを実行するためのターミナル ベースの対話型シェルが用意されています。 [インストール スクリプト] オプションを選択して、Trino CLI を Linux に手動でインストールできます。
必要条件
PATH に java を追加するか、JRE インストール ディレクトリーを指す JAVA_HOME 環境変数を $JAVA_HOME/bin/java が存在するように定義します。
インストールまたは更新
CLI をインストールおよび更新するには、いずれの場合もインストール スクリプトを再実行する必要があります。 curl を実行して CLI をインストールします。
curl -L https://aka.ms/InstallTrinoCli | bash
スクリプトをダウンロードして、ローカルで実行することもできます。 変更を有効にするために、シェルの再起動が必要になる場合があります。
Trino CLI を実行する
シェルから "trino-cli" コマンドを使用して Trino CLI を実行し、クラスターに接続できます。
trino-cli --server <cluster_endpoint>
Note
ヘッドレス OS (Web ブラウザーなし) で実行する場合、Trino CLI では認証にデバイス コードを使用することが要求されます。 コマンド ライン パラメーターの --auth AzureDeviceCode
を指定して、デバイス コードを強制的に使用することもできます。 この場合は、別のデバイス/OS でブラウザーを開き、表示されたコードを入力して認証した後、CLI に戻る必要があります。
トラブルシューティング
ここでは、手動インストール中に発生する一般的な問題をいくつか示します。
curl の "Object Moved" エラー
curl で -L パラメーターに関連するエラーが発生した場合や、"Object Moved" というテキストが含まれているエラー メッセージが表示された場合は、次のように、aka.ms リダイレクトの代わりに完全な URL を使用してみてください。
curl https://hdionaksresources.blob.core.windows.net/trino/cli/install.sh | bash
trino-cli コマンドが見つからない
hash -r
インストール後にシェルを再起動しなかった場合にも、この問題が発生することがあります。 trino-cli コマンドの場所 ($HOME/bin) が $PATH にあることを確認します。
プロキシによる接続のブロック
インストール スクリプトを取得するには、プロキシで次のアドレスへの HTTPS 接続を許可する必要があります。
https://aka.ms/
https://hdionaksresources.blob.core.windows.net/
Uninstall
すべての trino-cli ファイルを削除するには、次のコマンドを実行します。
rm $HOME/bin/trino-cli
rm -r $HOME/lib/trino-cli
認証
Trino CLI では、コマンド ライン パラメーターを使用した Microsoft Entra 認証のさまざまな方法がサポートされています。 次の表は、重要なパラメータと認証方法について説明するものです。詳細については、認証に関する記事を参照してください。
CLI でも使用できるパラメーターの説明:
trino-cli --help
パラメーター | 意味 | 必須 | 説明 |
---|---|---|---|
auth | 認証方法の名前 | いいえ | ユーザー資格情報を指定する方法を決定します。 指定していない場合は AzureDefault が使用されます。 |
azure-client | Client ID | AzureClientSecret, AzureClientCertificate については、はい。 |
サービス プリンシパル/アプリケーションのクライアント ID。 |
azure-tenant | テナント ID | AzureClientSecret, AzureClientCertificate については、はい。 |
Microsoft Entra テナント ID。 |
azure-certificate-path | 証明書へのファイル パス | AzureClientCertificate については、はい。 |
証明書の pfx/pem ファイルへのパス。 |
azure-use-token-cache | トークン キャッシュを使用するかどうか | いいえ | 指定した場合、アクセス トークンはキャッシュされ、AzureDefault, AzureInteractive, AzureDeviceCode モードで再利用されます。 |
azure-scope | トークンのスコープ | いいえ | トークンを要求する Microsoft Entra スコープ文字列。 |
use-device-code | デバイス コード メソッドを使用するかどうか | いいえ | これは、--auth AzureDeviceCode に相当します。 |
password | サービス プリンシパルのクライアント シークレット | AzureClientSecret については、はい。 |
AzureClientSecret モードを使用する場合のサービス プリンシパルのシークレット/パスワード。 |
access-token | JWT のアクセス トークン | いいえ | 外部からアクセス トークンを取得する場合は、このパラメータを使用して指定できます。 この場合、auth パラメータは使用できません。 |
例
説明 | CLI コマンド |
---|---|
AzureDefault | trino-cli --server cluster1.pool1.region.projecthilo.net |
対話型ブラウザーの認証 | trino-cli --server cluster1.pool1.region1.projecthilo.net --auth AzureInteractive |
トークン キャッシュの使用 | trino-cli --server cluster1.pool1.region1.projecthilo.net --auth AzureInteractive --azure-use-token-cache |
シークレットを持つサービス プリンシパル | 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 |
サービス プリンシパルと保護された証明書 (パスワードが求められます) | 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 |
トラブルシューティング
MissingAccessToken または InvalidAccessToken
CLI には、次のいずれかのエラーが表示されます。
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"
}]
この問題を解決するには、次の手順をお試しください。
- Trino CLI を終了します。
az logout
を実行します。az login -t <your-trino-cluster-tenantId>
を実行します。- これで、このコマンドが機能します。
trino-cli --server <cluster-endpoint>
- または、認証/テナント パラメーターを指定します。
trino-cli --server <cluster-endpoint> --auth AzureInteractive --azure-tenant <trino-cluster-tenantId>
403 無効
CLI に次のエラーが表示されます。
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>
]
この問題を解決するには、承認プロファイルにユーザーまたはグループを追加します。