Trino CLI
大事な
AKS 上の Azure HDInsight は、2025 年 1 月 31 日に廃止されました。 このお知らせ の詳細については、を参照してください。
ワークロードの突然の終了を回避するには、ワークロードを Microsoft Fabric または同等の Azure 製品 に移行する必要があります。
大事な
この機能は現在プレビュー段階です。 Microsoft Azure プレビューの 追加使用条件 には、ベータ版、プレビュー版、または一般公開されていない Azure 機能に適用される、より多くの法的条件が含まれています。 この特定のプレビューの詳細については、AKS プレビュー情報 Azure HDInsightを参照してください。 ご質問や機能の提案については、AskHDInsight に詳細を記載したリクエストを送信し、Azure HDInsight Communityをフォローしてさらなる更新情報をご確認ください。
AKS 上の HDInsight 用 Trino CLI には、クエリを実行するためのターミナル ベースの対話型シェルが用意されています。
Windows にインストールする
Windows の場合、AKS 上の HDInsight 用 Trino CLI は MSI 経由でインストールされます。これにより、Windows コマンド プロンプト (CMD) または PowerShell を使用して CLI にアクセスできます。 Windows Subsystem for Linux (WSL) 用にインストールする場合は、「linux にインストールするを参照してください。
必要条件
PATH に java.exe を追加するか、JRE インストール・ディレクトリー JAVA_HOME指す環境変数を定義します (
%JAVA_HOME%\bin\java.exe
が存在するようにします)。
インストールまたは更新
MSI パッケージは、Windows 上の AKS で HDInsight 用 Trino CLI をインストールまたは更新するために使用されます。
Trino CLI の最新リリースをダウンロードしてインストールします。 インストーラーがコンピューターに変更を加えることができるかどうかを確認するメッセージが表示されたら、[はい] ボックスをクリックします。 インストールが完了したら、Trino CLI を使用するには、アクティブな Windows コマンド プロンプトまたは PowerShell ウィンドウを閉じてから再度開く必要があります。
Trino CLI のダウンロード: https://aka.ms/InstallTrinoCLIWindows
Trino CLI を実行する
コマンド プロンプトで "trino-cli" を使用して Trino CLI を実行し、クラスターに接続できるようになりました。
trino-cli --server <cluster_endpoint>
手記
ヘッドレス OS (Web ブラウザーなし) で実行する場合、Trino CLI は認証にデバイス コードを使用するように求められます。 コマンド ライン パラメーターの --auth AzureDeviceCode
を指定して、デバイス コードを強制的に使用することもできます。 この場合は、別のデバイス/OS でブラウザーを開き、表示されたコードを入力して認証してから、CLI に戻る必要があります。
トラブルシューティング
Trino CLI を Windows にインストールするときに発生する一般的な問題を次に示します。
プロキシは接続 をブロックします
プロキシが接続をブロックしているために MSI インストーラーをダウンロードできない場合は、プロキシが正しく構成されていることを確認してください。 Windows 10 の場合、これらの設定は [設定] > [ネットワーク & インターネット > プロキシ] ウィンドウで管理されます。 必要な設定、またはコンピューターが構成で管理されている場合や、高度なセットアップが必要な場合は、システム管理者に問い合わせてください。
MSI を取得するには、プロキシで次のアドレスへの HTTPS 接続を許可する必要があります。
https://aka.ms/
https://hdionaksresources.blob.core.windows.net/
アンインストール
Trino CLI は、Windows の [アプリと機能] の一覧からアンインストールできます。 アンインストールするには:
プラットホーム | 手順 |
---|---|
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>
手記
ヘッドレス OS (Web ブラウザーなし) で実行する場合、Trino CLI は認証にデバイス コードを使用するように求められます。 コマンド ライン パラメーターの --auth AzureDeviceCode
を指定して、デバイス コードを強制的に使用することもできます。 この場合は、別のデバイス/OS でブラウザーを開き、表示されたコードを入力して認証してから、CLI に戻る必要があります。
トラブルシューティング
手動インストール中に発生する一般的な問題を次に示します。
curl エラー「Object Moved」
-L パラメーターに関連する curl からエラーが発生した場合、または "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/
アンインストール
すべての trino-cli ファイルを削除するには、次のコマンドを実行します。
rm $HOME/bin/trino-cli
rm -r $HOME/lib/trino-cli
認証
Trino CLI では、コマンド ライン パラメーターを使用した Microsoft Entra 認証のさまざまな方法がサポートされています。 次の表では、重要なパラメーターと認証方法について説明します。詳細については、「認証 参照してください。
CLI でも使用できるパラメーターの説明:
trino-cli --help
パラメーター | 意味 | 必須 | 説明 |
---|---|---|---|
認証 | 認証方法の名前 | いいえ | ユーザー資格情報を指定する方法を決定します。 指定しない場合は、AzureDefault を使用します。 |
アジュールクライアント | クライアント ID | はい、AzureClientSecret, AzureClientCertificate 。 |
サービス プリンシパル/アプリケーションのクライアント ID。 |
アジュールテナント | テナント ID |
AzureClientSecret, AzureClientCertificate に対して「はい」。 |
Microsoft Entra テナント ID。 |
azure-証明書-パス | 証明書へのファイル パス |
AzureClientCertificate については「はい」です。 |
証明書を含む pfx/pem ファイルへのパス。 |
azure-use-token-cache | トークン キャッシュを使用するかどうか | いいえ | 指定した場合、アクセス トークンはキャッシュされ、AzureDefault, AzureInteractive, AzureDeviceCode モードで再利用されます。 |
Azure スコープ | トークン スコープ | いいえ | Microsoft Entra スコープ文字列を使用してトークンを要求する。 |
デバイスコードを使用 | デバイス コード メソッドを使用するかどうか | いいえ |
--auth AzureDeviceCode に相当します。 |
パスワード | サービス プリンシパルのクライアント シークレット | はい、AzureClientSecret 。 |
AzureClientSecret モードを使用する場合のサービス プリンシパルのシークレット/パスワード。 |
アクセストークン | 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>
]
この問題を解決するには、承認プロファイルにユーザーまたはグループを追加します。