Trino CLI
Not
31 Ocak 2025'te AKS'de Azure HDInsight'ı kullanımdan kaldırmaya devam edeceğiz. 31 Ocak 2025'den önce, iş yüklerinizin aniden sonlandırılmasını önlemek için iş yüklerinizi Microsoft Fabric'e veya eşdeğer bir Azure ürününe geçirmeniz gerekir. Aboneliğinizdeki kalan kümeler durdurulur ve konaktan kaldırılır.
Kullanımdan kaldırma tarihine kadar yalnızca temel destek sağlanacaktır.
Ö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
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 | Başlangıç > Ayarları > Uygulaması |
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
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, AzureClientCertificate evet. |
Hizmet sorumlusunun/uygulamanın istemci kimliği. |
azure kiracısı | Kiracı kimliği | için AzureClientSecret, AzureClientCertificate evet. |
Microsoft Entra kiracı kimliği. |
azure-certificate-path | Sertifikanın dosya yolu | için AzureClientCertificate evet. |
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 AzureClientSecret evet. |
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:
- Trino CLI'dan çıkın.
az logout
komutunu çalıştırınaz login -t <your-trino-cluster-tenantId>
komutunu çalıştırın- Şimdi bu komut çalışmalıdır:
trino-cli --server <cluster-endpoint>
- 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.