Aracılığıyla paylaş


Trino CLI

Önemli

Bu özellik şu anda önizlemededir. Microsoft Azure Önizlemeleri için Ek Kullanım Koşulları, beta, önizleme aşamasında olan veya henüz genel kullanıma sunulmamış Azure özellikleri için geçerli olan daha fazla yasal hüküm içerir. Bu belirli önizleme hakkında bilgi için bkz . AKS üzerinde Azure HDInsight önizleme bilgileri. Sorular veya özellik önerileri için lütfen AskHDInsight'ta ayrıntıları içeren bir istek gönderin ve Azure HDInsight Topluluğu hakkında daha fazla güncelleştirme için bizi takip edin.

AKS üzerinde HDInsight için Trino CLI, sorguları çalıştırmak için terminal tabanlı, etkileşimli bir kabuk sağlar.

Windows’a yükle

Windows için, AKS'de HDInsight için Trino CLI, Windows Komut İstemi (CMD) veya PowerShell aracılığıyla CLI'ya erişmenizi sağlayan bir MSI aracılığıyla yüklenir. Linux için Windows Alt Sistemi (WSL) için yüklerken bkz. Linux'ta yükleme.

Gereksinimler

  • Java 8 veya 11.

  • PATH'e java.exe ekleyin veya JRE yükleme dizinine işaret eden JAVA_HOME ortam değişkeni tanımlayın.%JAVA_HOME%\bin\java.exe

Yükleme veya güncelleştirme

MSI paketi, Windows üzerinde AKS üzerinde HDInsight için Trino CLI'yi yüklemek veya güncelleştirmek için kullanılır.

Trino CLI'nın en son sürümünü indirin ve yükleyin. Yükleyici, bilgisayarınızda değişiklik yapıp yapamayacağını sorduğunda "Evet" kutusuna tıklayın. Yükleme tamamlandıktan sonra, Trino CLI'yı kullanmak için tüm etkin Windows Komut İstemini veya PowerShell pencerelerini kapatıp yeniden açmanız gerekir.

Trino CLI'sini indirin: https://aka.ms/InstallTrinoCLIWindows

Trino CLI'yi çalıştırma

Artık komut isteminde "trino-cli" kullanarak Trino CLI'yi çalıştırabilir ve kümeye bağlanabilirsiniz:

trino-cli --server <cluster_endpoint>

Not

Başsız işletim sisteminde (web tarayıcısı olmadan) çalıştırırsanız, Trino CLI kimlik doğrulaması için cihaz kodunu kullanmak ister. Cihaz kodunu kullanmaya zorlamak için komut satırı parametresi --auth AzureDeviceCode de belirtebilirsiniz. Bu durumda, başka bir cihazda/işletim sisteminde bir tarayıcı açmanız, görüntülenen kodu girmeniz ve kimlik doğrulaması yapmanız ve ardından CLI'ya geri dönmeniz gerekir.

Sorun giderme

Trino CLI'yi Windows'a yüklerken görülen bazı yaygın sorunlar aşağıdadır.

Ara sunucu bağlantıyı engelliyor

Proxy'niz bağlantıyı engellediği için MSI yükleyicisini indiremiyorsanız, proxy'nizin düzgün yapılandırıldığından emin olun. Windows 10 için bu ayarlar Ayarlar > Ağ ve İnternet > Ara Sunucusu bölmesinde yönetilir. Gerekli ayarlar veya makinenizin yapılandırmayla yönetilebileceği veya gelişmiş kurulum gerektirebileceği durumlar için sistem yöneticinize başvurun.

MSI'yi almak için proxy'nizin aşağıdaki adreslere https bağlantılarına izin vermesi gerekir:

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

uygulamasını kaldırma

Trino CLI'yi Windows "Uygulamalar ve Özellikler" listesinden kaldırabilirsiniz. Kaldırmak için:

Platform Yönergeler
Windows 10 Ayarlar > Uygulamasını Başlat >
Windows 8 ve Windows 7 Programları Denetim Masası > Başlat > Program > kaldırma

Bu ekrana girdikten sonra program arama çubuğuna Trino yazın. Kaldırılma programı "HDInsight Trino CLI <sürümü>" olarak listeleniyor. Bu uygulamayı seçin, ardından Kaldır düğmesine tıklayın.

Linux'ta yükleme

Trino CLI, sorguları çalıştırmak için terminal tabanlı, etkileşimli bir kabuk sağlar. Betiği yükle seçeneğini belirleyerek Trino CLI'yi Linux'a el ile yükleyebilirsiniz.

Gereksinimler

  • Java 8 veya 11.

  • PATH'e java ekleyin veya JRE yükleme dizinine işaret eden JAVA_HOME ortam değişkeni tanımlayın; örneğin, $JAVA_HOME/bin/java vardır.

Yükleme veya güncelleştirme

CLI'nın yüklenmesi ve güncelleştirilmesi için yükleme betiğinin yeniden çalıştırılması gerekir. Curl komutunu çalıştırarak CLI'yi yükleyin.

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

Betik indirilip yerel olarak da çalıştırılabilir. Değişikliklerin etkili olması için kabuğunuzu yeniden başlatmanız gerekebilir.

Trino CLI'yi çalıştırma

Artık Trino CLI'yı kabuktan "trino-cli" komutuyla çalıştırabilir ve kümeye bağlanabilirsiniz:

trino-cli --server <cluster_endpoint>

Not

Başsız işletim sisteminde (web tarayıcısı olmadan) çalıştırırsanız Trino CLI kimlik doğrulaması için cihaz kodunu kullanmak ister. Cihaz kodunu kullanmaya zorlamak için komut satırı parametresi --auth AzureDeviceCode de belirtebilirsiniz. Bu durumda başka bir cihazda/işletim sisteminde bir tarayıcı açmanız, görüntülenen kodu girmeniz ve kimlik doğrulaması yapmanız ve ardından CLI'ya geri dönmeniz gerekir.

Sorun giderme

El ile yükleme sırasında görülen bazı yaygın sorunlar aşağıda verilmiştir.

curl "Nesne Taşındı" hatası

Curl'den -L parametresiyle ilgili bir hata veya "Nesne Taşındı" metnini içeren bir hata iletisi alırsanız, aka.ms yeniden yönlendirmesi yerine tam URL'yi kullanmayı dener:

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

trino-cli komutu bulunamadı

hash -r

Yükleme sonrasında kabuğunuzu yeniden başlatmadıysanız bu sorun oluşabilir. Trino-cli komutunun ($HOME/bin) konumunun $PATH içinde olduğundan emin olun.

Ara sunucu bağlantıyı engelliyor

Yükleme betiklerini almak için proxy'nizin aşağıdaki adreslere HTTPS bağlantılarına izin vermesi gerekir:

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

Kaldır

Tüm trino-cli dosyalarını kaldırmak için komutunu çalıştırın:

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

Kimlik Doğrulaması

Trino CLI, komut satırı parametrelerini kullanarak Microsoft Entra kimlik doğrulamasının çeşitli yöntemlerini destekler. Aşağıdaki tabloda önemli parametreler ve kimlik doğrulama yöntemleri açıklanmaktadır. Daha fazla bilgi için bkz . Kimlik doğrulaması.

CLI'da da kullanılabilen parametre açıklaması:

trino-cli --help
Parametre Anlamı Zorunlu Açıklama
kimlik doğrulaması Kimlik doğrulama yönteminin adı Hayır Kullanıcı kimlik bilgilerinin nasıl sağlandığını belirler. Belirtilmezse kullanır AzureDefault.
azure-client Client ID için AzureClientSecret, AzureClientCertificateevet. Hizmet sorumlusunun/uygulamanın istemci kimliği.
azure kiracısı Kiracı kimliği için AzureClientSecret, AzureClientCertificateevet. Microsoft Entra kiracı kimliği.
azure-certificate-path Sertifikanın dosya yolu için AzureClientCertificateevet. Sertifikalı pfx/pem dosyasının yolu.
azure-use-token-cache Belirteç önbelleğini kullan veya kullanma Hayır Sağlanırsa erişim belirteci önbelleğe alınır ve modlarda AzureDefault, AzureInteractive, AzureDeviceCode yeniden kullanılır.
azure kapsamı Belirteç kapsamı Hayır Belirteç istemek için Microsoft Entra kapsam dizesi.
use-device-code Cihaz kodu yöntemini kullan veya kullanma Hayır ile eşdeğerdir --auth AzureDeviceCode.
password Hizmet sorumlusu için istemci gizli dizisi için AzureClientSecretevet. Modu kullanırken AzureClientSecret hizmet sorumlusu için gizli dizi/parola.
erişim belirteci JWT erişim belirteci Hayır Erişim belirteci dışarıdan alındıysa, bu parametre kullanılarak sağlanabilir. Bu durumda parametreye auth izin verilmez.

Örnekler

Açıklama CLI komutu
AzureDefault trino-cli --server cluster1.pool1.region.projecthilo.net
Etkileşimli tarayıcı kimlik doğrulaması trino-cli --server cluster1.pool1.region1.projecthilo.net --auth AzureInteractive
Belirteç önbelleğini kullanma trino-cli --server cluster1.pool1.region1.projecthilo.net --auth AzureInteractive --azure-use-token-cache
Gizli dizili hizmet sorumlusu 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
Hizmet sorumlusu ve korumalı sertifika (parola istenir) 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

Sorun giderme

MissingAccessToken veya InvalidAccessToken

CLI hatalardan birini gösterir:

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

Sorunu çözmek için aşağıdaki adımları deneyin:

  1. Trino CLI'dan çıkın.
  2. az logout komutunu çalıştırın
  3. az login -t <your-trino-cluster-tenantId> komutunu çalıştırın
  4. Şimdi bu komut çalışmalıdır:
trino-cli --server <cluster-endpoint>
  1. Alternatif olarak kimlik doğrulama/kiracı parametrelerini belirtin:
trino-cli --server <cluster-endpoint> --auth AzureInteractive --azure-tenant <trino-cluster-tenantId>

403 Yasak

CLI hata gösteriyor:

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

Sorunu çözmek için yetkilendirme profiline kullanıcı veya grup ekleyin.