Bagikan melalui


Trino CLI

Penting

Fitur ini masih dalam mode pratinjau. Ketentuan Penggunaan Tambahan untuk Pratinjau Microsoft Azure mencakup lebih banyak persyaratan hukum yang berlaku untuk fitur Azure yang dalam versi beta, dalam pratinjau, atau belum dirilis ke ketersediaan umum. Untuk informasi tentang pratinjau khusus ini, lihat Azure HDInsight pada informasi pratinjau AKS. Untuk pertanyaan atau saran fitur, kirimkan permintaan di AskHDInsight dengan detail dan ikuti kami untuk pembaruan lebih lanjut di Komunitas Azure HDInsight.

Trino CLI untuk HDInsight di AKS menyediakan shell interaktif berbasis terminal untuk menjalankan kueri.

Penginstalan pada Windows

Untuk Windows, Trino CLI untuk HDInsight di AKS diinstal melalui MSI, yang memberi Anda akses ke CLI melalui Windows Command Prompt (CMD) atau PowerShell. Saat menginstal untuk Subsistem Windows untuk Linux (WSL), lihat Menginstal di Linux.

Persyaratan

  • Java 8 atau 11.

  • Tambahkan java.exe ke PATH atau tentukan variabel lingkungan JAVA_HOME yang menunjuk ke direktori penginstalan JRE, sehingga %JAVA_HOME%\bin\java.exe ada.

Menginstal atau memperbarui

Paket MSI digunakan untuk menginstal atau memperbarui Trino CLI untuk HDInsight pada AKS di Windows.

Unduh dan instal rilis terbaru Trino CLI. Jika alat penginstal bertanya apakah dapat membuat perubahan pada komputer Anda, klik kotak "Ya". Setelah penginstalan selesai, Anda harus menutup dan membuka kembali Windows Command Prompt aktif atau jendela PowerShell untuk menggunakan Trino CLI.

Unduh Trino CLI: https://aka.ms/InstallTrinoCLIWindows

Jalankan Trino CLI

Anda sekarang dapat menjalankan Trino CLI menggunakan "trino-cli" di prompt perintah, dan menyambungkan ke kluster:

trino-cli --server <cluster_endpoint>

Catatan

Jika Anda berjalan pada OS tanpa kepala (tanpa browser web), Trino CLI akan meminta untuk menggunakan kode perangkat untuk autentikasi. Anda juga dapat menentukan parameter --auth AzureDeviceCode baris perintah untuk dipaksa menggunakan kode perangkat. Dalam hal ini, Anda perlu membuka browser di perangkat/OS lain, memasukkan kode yang ditampilkan dan mengautentikasi, lalu kembali ke CLI.

Pemecahan Masalah

Berikut adalah beberapa masalah umum yang terlihat saat menginstal Trino CLI di Windows.

Koneksi blok proksi

Jika Anda tidak dapat mengunduh alat penginstal MSI karena proksi Anda memblokir koneksi, pastikan Anda telah mengonfigurasi proksi dengan benar. Untuk Windows 10, pengaturan ini dikelola di panel Pengaturan > Network & Internet > Proxy. Hubungi administrator sistem untuk mengetahui pengaturan yang diperlukan, atau untuk situasi saat mesin Anda mungkin dikelola konfigurasi atau memerlukan pengaturan tingkat lanjut.

Untuk mendapatkan MSI, proksi Anda perlu mengizinkan koneksi HTTPS ke alamat berikut:

  • https://aka.ms/
  • https://hdionaksresources.blob.core.windows.net/

Menghapus instalan

Anda dapat menghapus instalan Trino CLI dari daftar "Aplikasi dan Fitur" Windows. Untuk menghapus instalan:

Platform Petunjuk
Windows 10 Mulai > Aplikasi Pengaturan >
Windows 8 dan Windows 7 Mulai > Panel Kontrol > Program > Hapus instalan program

Setelah berada di layar ini, ketik Trino ke bilah pencarian program. Program untuk menghapus instalasi adalah daftar sebagai "versi> HDInsight Trino CLI<." Pilih aplikasi ini, lalu klik tombol Hapus instalan.

Penginstalan pada Linux

Trino CLI menyediakan shell interaktif berbasis terminal untuk menjalankan kueri. Anda dapat menginstal Trino CLI secara manual di Linux dengan memilih opsi Instal skrip.

Persyaratan

  • Java 8 atau 11.

  • Tambahkan java ke PATH atau tentukan variabel lingkungan JAVA_HOME yang menunjuk ke direktori penginstalan JRE, sehingga $JAVA_HOME/bin/java ada.

Menginstal atau memperbarui

Menginstal dan memperbarui CLI memerlukan eksekusi ulang skrip penginstalan. Instal CLI dengan menjalankan curl.

curl -L https://aka.ms/InstallTrinoCli | bash

Skrip juga dapat diunduh dan dijalankan secara lokal. Anda mungkin harus memulai ulang shell agar perubahan diterapkan.

Jalankan Trino CLI

Anda sekarang dapat menjalankan Trino CLI dengan perintah "trino-cli" dari shell, dan menyambungkan ke kluster:

trino-cli --server <cluster_endpoint>

Catatan

Jika Anda berjalan pada OS tanpa kepala (tanpa browser web) Trino CLI akan meminta untuk menggunakan kode perangkat untuk autentikasi. Anda juga dapat menentukan parameter --auth AzureDeviceCode baris perintah untuk dipaksa menggunakan kode perangkat. Dalam hal ini Anda perlu membuka browser di perangkat/OS lain, memasukkan kode yang ditampilkan dan mengautentikasi, lalu kembali ke CLI.

Pemecahan Masalah

Berikut beberapa masalah umum yang terjadi selama penginstalan manual.

kesalahan curl "Object Moved"

Jika Anda mendapatkan kesalahan dari curl yang terkait dengan parameter -L, atau pesan kesalahan termasuk teks "Objek Dipindahkan," mencoba menggunakan URL lengkap alih-alih pengalihan aka.ms:

curl https://hdionaksresources.blob.core.windows.net/trino/cli/install.sh | bash

perintah trino-cli tidak ditemukan

hash -r

Masalah ini juga bisa terjadi jika Anda tidak memulai ulang shell setelah penginstalan. Pastikan lokasi perintah trino-cli ($HOME/bin) ada di $PATH Anda.

Koneksi blok proksi

Untuk mendapatkan skrip penginstalan, proksi Anda perlu mengizinkan koneksi HTTPS ke alamat berikut:

  • https://aka.ms/
  • https://hdionaksresources.blob.core.windows.net/

Hapus instalasi

Untuk menghapus semua file trino-cli yang dijalankan:

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

Autentikasi

Trino CLI mendukung berbagai metode autentikasi Microsoft Entra menggunakan parameter baris perintah. Tabel berikut ini menjelaskan parameter penting dan metode autentikasi, untuk informasi selengkapnya, lihat Autentikasi.

Deskripsi parameter juga tersedia di CLI:

trino-cli --help
Parameter Makna Wajib Deskripsi
auth Nama metode autentikasi No Menentukan bagaimana kredensial pengguna disediakan. Jika tidak ditentukan, menggunakan AzureDefault.
azure-client ID klien Ya untuk AzureClientSecret, AzureClientCertificate. ID klien perwakilan/aplikasi layanan.
azure-tenant ID Penyewa Ya untuk AzureClientSecret, AzureClientCertificate. ID penyewa Microsoft Entra.
azure-certificate-path Jalur file ke sertifikat Ya untuk AzureClientCertificate. Jalur ke file pfx/pem dengan sertifikat.
azure-use-token-cache Gunakan cache token atau tidak No Jika disediakan, token akses di-cache dan digunakan kembali dalam AzureDefault, AzureInteractive, AzureDeviceCode mode.
cakupan azure Cakupan token No String cakupan Microsoft Entra untuk meminta token.
use-device-code Menggunakan metode kode perangkat atau tidak No Setara dengan --auth AzureDeviceCode.
kata sandi Rahasia klien untuk perwakilan layanan Ya untuk AzureClientSecret. Rahasia/kata sandi untuk perwakilan layanan saat menggunakan AzureClientSecret mode.
token akses Token akses JWT No Jika token akses diperoleh secara eksternal, dapat disediakan menggunakan parameter ini. Dalam hal ini, auth parameter tidak diizinkan.

Contoh

Deskripsi Perintah CLI
AzureDefault trino-cli --server cluster1.pool1.region.projecthilo.net
Autentikasi browser interaktif trino-cli --server cluster1.pool1.region1.projecthilo.net --auth AzureInteractive
Menggunakan cache token trino-cli --server cluster1.pool1.region1.projecthilo.net --auth AzureInteractive --azure-use-token-cache
Perwakilan layanan dengan rahasia 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
Perwakilan layanan dan sertifikat yang dilindungi (kata sandi diminta) 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

Pecahkan masalah

MissingAccessToken atau InvalidAccessToken

CLI menunjukkan salah satu kesalahan:

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"
}]

Untuk mengatasi masalah ini, coba langkah-langkah berikut:

  1. Keluar dari Trino CLI.
  2. Jalankan az logout
  3. Jalankan az login -t <your-trino-cluster-tenantId>
  4. Sekarang perintah ini harus berfungsi:
trino-cli --server <cluster-endpoint>
  1. Atau tentukan parameter autentikasi/penyewa:
trino-cli --server <cluster-endpoint> --auth AzureInteractive --azure-tenant <trino-cluster-tenantId>

403 Dilarang

CLI menunjukkan kesalahan:

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>
]

Untuk mengatasi masalah ini, tambahkan pengguna atau grup ke profil otorisasi.