استخدام البرامج النصية ل init ذات نطاق نظام المجموعة

البرامج النصية للتهيئة ذات نطاق المجموعة هي البرامج النصية init المحددة في تكوين نظام المجموعة. تنطبق البرامج النصية للتهيئة على نطاق المجموعة على كل من نظامي المجموعة التي تقوم بإنشائها وتلك التي تم إنشاؤها لتشغيل المهام.

يمكنك تكوين البرامج النصية للتهيئة ذات نطاق المجموعة باستخدام واجهة المستخدم وCLI واستدعاء واجهة برمجة تطبيقات المجموعات. يركز هذا القسم على تنفيذ هذه المهام باستخدام واجهة المستخدم. للحصول على الأساليب الأخرى، راجع Databricks CLI وواجهة برمجة تطبيقات المجموعات.

يمكنك إضافة أي عدد من البرامج النصية، ويتم تنفيذ البرامج النصية بشكل تسلسلي بالترتيب المقدم.

إذا أرجع برنامج نصي init في نطاق نظام المجموعة رمز خروج غير صفري، يفشل تشغيل نظام المجموعة. يمكنك استكشاف أخطاء البرامج النصية للتهيئة ذات نطاق المجموعة وإصلاحها عن طريق تكوين تسليم سجل نظام المجموعة وفحص سجل البرنامج النصي init. راجع تسجيل البرنامج النصي Init.

تكوين برنامج نصي init على نطاق نظام المجموعة باستخدام واجهة المستخدم

يحتوي هذا القسم على إرشادات لتكوين نظام مجموعة لتشغيل برنامج نصي init باستخدام واجهة مستخدم Azure Databricks.

توصي Databricks بإدارة جميع البرامج النصية init كنصوص init في نطاق المجموعة. إذا كنت تستخدم الحوسبة مع وضع الوصول المشترك أو الفردي للمستخدم، فخزن البرامج النصية init في وحدات تخزين كتالوج Unity. إذا كنت تستخدم الحوسبة مع وضع الوصول المشترك بدون عزل، فاستخدم ملفات مساحة العمل للنصوص النصية للتثبيت.

بالنسبة إلى وضع الوصول المشترك، يجب إضافة البرامج النصية init إلى allowlist. راجع Allowlist libraries and init scripts on shared compute.

لاستخدام واجهة المستخدم لتكوين نظام مجموعة لتشغيل برنامج نصي init، أكمل الخطوات التالية:

  1. في صفحة تكوين نظام المجموعة، انقر فوق تبديل خيارات متقدمة.
  2. في أسفل الصفحة، انقر فوق علامة التبويب Init Scripts .
  3. في القائمة المنسدلة Source، حدد نوع مصدر Workspace أو Volume أو ABFSS.
  4. حدد مسارا إلى البرنامج النصي init، مثل أحد الأمثلة التالية:
    • للحصول على برنامج نصي init مخزن في الدليل الرئيسي الخاص بك مع ملفات مساحة العمل: /Users/<user-name>/<script-name>.sh.
    • بالنسبة إلى برنامج نصي init مخزن مع وحدات تخزين كتالوج Unity: /Volumes/<catalog>/<schema>/<volume>/<path-to-script>/<script-name>.sh.
    • بالنسبة إلى البرنامج النصي init المخزن مع تخزين الكائن: abfss://container-name@storage-account-name.dfs.core.windows.net/path/to/init-script.
  5. انقر فوق إضافة.

في وضع وصول مستخدم واحد، يتم استخدام هوية الأساسي المعين (مستخدم أو كيان خدمة).

في وضع الوصول المشترك، يتم استخدام هوية مالك نظام المجموعة.

إشعار

لا يدعم وضع الوصول المشترك بدون عزل وحدات التخزين، ولكنه يستخدم نفس تعيين الهوية مثل وضع الوصول المشترك.

لإزالة برنامج نصي من تكوين نظام المجموعة، انقر فوق أيقونة سلة المهملات على يمين البرنامج النصي. عند تأكيد الحذف، ستتم مطالبتك بإعادة تشغيل نظام المجموعة. اختياريا يمكنك حذف ملف البرنامج النصي من الموقع الذي قمت بتحميله إليه.

إشعار

إذا قمت بتكوين برنامج نصي init باستخدام نوع مصدر ABFSS ، يجب تكوين بيانات اعتماد الوصول.

توصي Databricks باستخدام أساسيات خدمة معرف Microsoft Entra لإدارة الوصول إلى البرامج النصية init المخزنة في Azure Data Lake Storage Gen2. استخدم الوثائق المرتبطة التالية لإكمال هذا الإعداد:

  1. إنشاء كيان خدمة مع أذونات القراءة والسرد على الكائنات الثنائية كبيرة الحجم المطلوبة. راجع الوصول إلى التخزين باستخدام مبدأ خدمة ومعرف Microsoft Entra (Azure Active Directory).

  2. احفظ بيانات الاعتماد الخاصة بك باستخدام البيانات السرية. راجع الأسرار.

  3. تعيين الخصائص في تكوين Spark والمتغيرات البيئية أثناء إنشاء نظام مجموعة، كما في المثال التالي:

    تكوين Spark:

    spark.hadoop.fs.azure.account.auth.type.<storage-account>.dfs.core.windows.net OAuth
    spark.hadoop.fs.azure.account.oauth.provider.type.<storage-account>.dfs.core.windows.net org.apache.hadoop.fs.azurebfs.oauth2.ClientCredsTokenProvider
    spark.hadoop.fs.azure.account.oauth2.client.id.<storage-account>.dfs.core.windows.net <application-id>
    spark.hadoop.fs.azure.account.oauth2.client.secret.<storage-account>.dfs.core.windows.net {{secrets/<secret-scope>/<service-credential-key>}}
    spark.hadoop.fs.azure.account.oauth2.client.endpoint.<storage-account>.dfs.core.windows.net https://login.microsoftonline.com/<tenant-id>/oauth2/token
    

    المتغيرات البيئية:

    SERVICE_CREDENTIAL={{secrets/<secret-scope>/<service-credential-key>}}
    
  4. (اختياري) إعادة بناء التعليمات البرمجية لبرمجة التعليمات البرمجية باستخدام azcopy أو Azure CLI.

    يمكنك الرجوع إلى المتغيرات البيئية التي تم تعيينها أثناء تكوين نظام المجموعة داخل البرامج النصية للتهيئة لتمرير بيانات الاعتماد المخزنة كأسرار للتحقق من الصحة.

تحذير

البرامج النصية init ذات نطاق نظام المجموعة على DBFS هي نهاية العمر الافتراضي. يوجد خيار DBFS في واجهة المستخدم في بعض مساحات العمل لدعم أحمال العمل القديمة ولا يوصى به. يجب ترحيل جميع البرامج النصية init المخزنة في DBFS. للحصول على إرشادات الترحيل، راجع ترحيل البرامج النصية init من DBFS.

استكشاف أخطاء البرامج النصية في مجال المجموعة وإصلاحها

  • يجب أن يكون البرنامج النصي موجودا في الموقع الذي تم تكوينه. إذا لم يكن البرنامج النصي موجودا، تؤدي محاولات بدء المجموعة أو توسيع نطاق المنفذين إلى فشل.
  • لا يمكن أن يكون البرنامج النصي init أكبر من 64 كيلوبايت. إذا تجاوز البرنامج النصي هذا الحجم، فسيفشل تشغيل نظام المجموعة وستظهر رسالة فشل في سجل نظام المجموعة.