Trino CLI
إشعار
سنتقاعد Azure HDInsight على AKS في 31 يناير 2025. قبل 31 يناير 2025، ستحتاج إلى ترحيل أحمال العمل الخاصة بك إلى Microsoft Fabric أو منتج Azure مكافئ لتجنب الإنهاء المفاجئ لأحمال العمل الخاصة بك. سيتم إيقاف المجموعات المتبقية على اشتراكك وإزالتها من المضيف.
هام
هذه الميزة في وضع المعاينة حاليًا. تتضمن شروط الاستخدام التكميلية لمعاينات Microsoft Azure المزيد من الشروط القانونية التي تنطبق على ميزات Azure الموجودة في الإصدار التجريبي أو قيد المعاينة أو التي لم يتم إصدارها بعد في التوفر العام. للحصول على معلومات حول هذه المعاينة المحددة، راجع معلومات معاينة Azure HDInsight على AKS. للأسئلة أو اقتراحات الميزات، يرجى إرسال طلب على AskHDInsight مع التفاصيل ومتابعتنا لمزيد من التحديثات على مجتمع Azure HDInsight.
يوفر Trino CLI ل HDInsight على AKS shell تفاعليا يستند إلى المحطة الطرفية لتشغيل الاستعلامات.
التثبيت على Windows
بالنسبة إلى Windows، يتم تثبيت Trino CLI ل HDInsight على AKS عبر MSI، والذي يمنحك حق الوصول إلى CLI من خلال موجه أوامر Windows (CMD) أو PowerShell. عند تثبيت نظام Windows الفرعي لـ Linux (WSL)، راجع التثبيت على Linux.
المتطلبات
أضف java.exe إلى PATH أو حدد متغير بيئة JAVA_HOME يشير إلى دليل تثبيت JRE، مثل الموجود
%JAVA_HOME%\bin\java.exe
.
التثبيت أو التحديث
يتم استخدام حزمة MSI لتثبيت أو تحديث Trino CLI ل HDInsight على AKS على Windows.
قم بتنزيل وتثبيت أحدث إصدار من Trino CLI. عندما يسأل المثبت ما إذا كان يمكنه إجراء تغييرات على الكمبيوتر، انقر فوق المربع "نعم". بعد اكتمال التثبيت، ستحتاج إلى إغلاق وإعادة فتح أي نوافذ نشطة من موجه أوامر Windows أو PowerShell لاستخدام Trino CLI.
تنزيل Trino CLI: https://aka.ms/InstallTrinoCLIWindows
تشغيل Trino CLI
يمكنك الآن تشغيل Trino CLI باستخدام "trino-cli" في موجه الأوامر، والاتصال بالمجموعة:
trino-cli --server <cluster_endpoint>
إشعار
إذا قمت بتشغيل على نظام التشغيل بدون رأس (لا يوجد مستعرض ويب)، فسيطالب Trino CLI باستخدام رمز الجهاز للمصادقة. يمكنك أيضا تحديد معلمة --auth AzureDeviceCode
سطر الأوامر لفرض استخدام التعليمات البرمجية للجهاز. في هذه الحالة، تحتاج إلى فتح مستعرض على جهاز/نظام تشغيل آخر، وإدخال التعليمات البرمجية المعروضة والمصادقة، ثم العودة إلى CLI.
استكشاف الأخطاء وإصلاحها
فيما يلي بعض المشاكل الشائعة التي تظهر عند تثبيت Trino CLI على Windows.
حظر الوكيل الاتصال
إذا لم تتمكن من تنزيل مثبت MSI لأن الوكيل الخاص بك يمنع الاتصال، فتأكد من تكوين الوكيل الخاص بك بشكل صحيح. بالنسبة إلى Windows 10، تتم إدارة هذه الإعدادات في جزء Settings > Network وInternet > Proxy. اتصل بمسؤول النظام للحصول على الإعدادات المطلوبة، أو للحالات التي قد يكون فيها جهازك مدارا للتكوين أو يتطلب إعدادا متقدما.
للحصول على 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 shell تفاعليا يستند إلى المحطة الطرفية لتشغيل الاستعلامات. يمكنك تثبيت Trino CLI يدويا على Linux عن طريق تحديد خيار تثبيت البرنامج النصي.
المتطلبات
أضف java إلى PATH أو حدد متغير بيئة JAVA_HOME يشير إلى دليل تثبيت JRE، مثل $JAVA_HOME/bin/java موجود.
التثبيت أو التحديث
يتطلب كل من تثبيت وتحديث CLI إعادة تشغيل البرنامج النصي التثبيت. قم بتثبيت CLI عن طريق تشغيل curl.
curl -L https://aka.ms/InstallTrinoCli | bash
يمكن أيضا تنزيل البرنامج النصي وتشغيله محليا. قد تضطر إلى إعادة تشغيل shell الخاص بك حتى تسري التغييرات.
تشغيل Trino CLI
يمكنك الآن تشغيل Trino CLI باستخدام الأمر "trino-cli" من shell، والاتصال بالمجموعة:
trino-cli --server <cluster_endpoint>
إشعار
إذا قمت بتشغيل على نظام التشغيل بدون رأس (لا يوجد مستعرض ويب) سيطالب Trino CLI باستخدام رمز الجهاز للمصادقة. يمكنك أيضا تحديد معلمة --auth AzureDeviceCode
سطر الأوامر لفرض استخدام التعليمات البرمجية للجهاز. في هذه الحالة تحتاج إلى فتح مستعرض على جهاز/نظام تشغيل آخر، وإدخال التعليمات البرمجية المعروضة والمصادقة، ثم العودة إلى CLI.
استكشاف الأخطاء وإصلاحها
فيما يلي بعض المشاكل الشائعة التي تظهر أثناء التثبيت اليدوي.
خطأ curl "Object Moved"
إذا تلقيت خطأ من curl متعلقا بالمعلمة -L، أو رسالة خطأ تتضمن النص "Object Moved"، يحاول استخدام عنوان URL الكامل بدلا من إعادة توجيه aka.ms:
curl https://hdionaksresources.blob.core.windows.net/trino/cli/install.sh | bash
لم يتم العثور على أمر trino-cli
hash -r
يمكن أن تحدث المشكلة أيضا إذا لم تقم بإعادة تشغيل shell بعد التثبيت. تأكد من أن موقع أمر 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 . |
azure-client | معرف العميل | نعم ل AzureClientSecret, AzureClientCertificate . |
معرف العميل لمدير/تطبيق الخدمة. |
مستأجر azure | معرف المستأجر | نعم ل AzureClientSecret, AzureClientCertificate . |
معرف مستأجر Microsoft Entra. |
azure-certificate-path | مسار الملف إلى الشهادة | نعم ل AzureClientCertificate . |
المسار إلى ملف pfx/pem مع شهادة. |
azure-use-token-cache | استخدام ذاكرة التخزين المؤقت للرمز المميز أم لا | لا | إذا تم توفيره، يتم تخزين الرمز المميز للوصول مؤقتا وإعادة استخدامه في AzureDefault, AzureInteractive, AzureDeviceCode الأوضاع. |
azure-scope | نطاق الرمز المميز | لا | سلسلة نطاق 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>
]
لحل المشكلة، أضف مستخدما أو مجموعة إلى ملف تعريف التخويل.