تخصيص مجموعات Azure HDInsight باستخدام إجراءات البرنامج النصي

يوفر Azure HDInsight طريقة تكوين تسمى إجراءات البرنامج النصي التي تستدعي البرامج النصية المخصصة لتخصيص المجموعة. وتُستخدم هذه البرامج النصية لتثبيت مكونات إضافية وتغيير إعدادات التكوين. يمكن استخدام إجراءات البرنامج النصي أثناء أو بعد إنشاء المجموعة.

ويمكن أيضاً نشر إجراءات البرنامج النصي في Azure Marketplace كتطبيق HDInsight. لمزيد من المعلومات حول تطبيقات HDInsight، اطلع على نشر تطبيق HDInsight في Azure Marketplace.

فهم إجراءات البرامج النصية

يعد إجراء البرنامج النصي عبارة عن برنامج Bash نصي يتم تشغيله في عقد في مجموعة HDInsight. تترتب خصائص وميزات إجراءات البرنامج النصي على النحو التالي:

  • يجب أن يكون عنوان URI لبرنامج Bash النصي (موقع الوصول إلى الملف) متاحاً من موفر موارد HDInsight والمجموعة.

  • فيما يلي مواقع التخزين المحتملة:

    • للمجموعات العادية (بدون حزمة أمان المؤسسات):

      • كائن ثنائي كبير الحجم في حساب Azure Storage يكون إما حساب التخزين الأساسي أو الإضافي لمجموعة HDInsight. يتم منح HDInsight حق الوصول إلى كلا النوعين من حسابات التخزين أثناء إنشاء المجموعة.

        هام

        لا تقم بتغيير مفتاح التخزين بشكل دوري في حساب Azure Storage هذا، حيث سيؤدي ذلك إلى فشل إجراءات البرنامج النصي اللاحقة مع البرامج النصية المخزنة هناك.

      • Data Lake Storage Gen1: يجب أن يكون لكيان الخدمة الذي يستخدمه HDInsight للوصول إلى Data Lake Storage حق وصول للقراءة إلى البرنامج النصي. تنسيق URI لبرنامج Bash النصي هو adl://DATALAKESTOREACCOUNTNAME.azuredatalakestore.net/path_to_file.

      • لا يوصى باستخدام Data Lake Storage Gen2 لإجراءات البرنامج النصي. abfs:// غير مدعوم لـ URI لبرنامج Bash النصي. https:// يمكن استخدام URIs، ولكن تلك التي تعمل على الحاويات التي لها حق وصول عام، وجدار الحماية المفتوح لموفر موارد HDInsight، وبالتالي لا يوصى به.

      • خدمة عامة لمشاركة الملفات يمكن الوصول إليها من خلال مسارات https://. على سبيل المثال، Azure Blob أو GitHub أو OneDrive. على سبيل المثال، URIs، اطلع على أمثلة على البرامج النصية لإجراء البرنامج النصي.

    • بالنسبة إلى المجموعات التي تحتوي على حزمة أمان المؤسسات، يتم دعم wasb:// أو wasbs:// أو http[s]:// URIs.

  • يمكن تقييد إجراءات البرنامج النصي للتشغيل فقط على أنواع معينة من العقد. على سبيل المثال، العقد الأساسية أو العقد العاملة.

  • يمكن أن تكون إجراءات البرنامج النصي دائمة أو مؤقتة.

    • يجب أن يكون لإجراءات البرنامج النصي الدائمة اسم فريد. يمكن استخدام البرامج النصية الدائمة لتخصيص العقد العاملة الجديدة المضافة إلى المجموعة من خلال عمليات التحجيم. قد يقوم البرنامج النصي الدائم أيضاً بتطبيق التغييرات على نوع عقدة أخرى عند حدوث عمليات التوسيع. على سبيل المثال، العقدة الأساسية.
    • تعد البرامج النصية المؤقتة برامج نصية غير دائمة. تعد إجراءات البرنامج النصي المستخدمة أثناء إنشاء المجموعة دائمة تلقائياً. لا يتم تطبيقها على العقد العاملة المضافة إلى المجموعة بعد تشغيل البرنامج النصي. ومن ثَم يمكنك ترقية برنامج نصي مؤقت إلى برنامج نصي دائم أو خفض ترقية برنامج نصي دائم إلى برنامج نصي مؤقت. لا تعد البرامج النصية التي تفشل برامج نصية دائمة، حتى إذا أشرت على وجه التحديد إلى أنها يجب أن تكون كذلك.
  • يمكن أن تقبل إجراءات البرنامج النصي المعلمات التي يستخدمها البرنامج النصي أثناء التنفيذ.

  • تعمل إجراءات البرنامج النصي بامتيازات على مستوى الجذر على عقد المجموعة.

  • يمكن استخدام إجراءات البرنامج النصي من خلال مدخل Azure أو Azure PowerShell أو واجهة سطر الأوامر في Azure أو عدة تطوير برامج HDInsight .NET.

  • قد تؤثر إجراءات البرنامج النصي التي تزيل أو تعدل ملفات الخدمة على الجهاز الظاهري على صحة الخدمة ومدى توفرها.

تحتفظ المجموعة بالمحفوظات لجميع البرامج النصية التي تم تشغيلها. تساعد المحفوظات عندما تحتاج إلى العثور على معرف البرنامج النصي لعمليات الترقية أو التخفيض.

هام

لا توجد طريقة تلقائية للتراجع عن التغييرات التي تم إجراؤها بواسطة إجراء البرنامج النصي. يمكنك إما عكس التغييرات يدوياً أو توفير برنامج نصي ليعكسها.

الأذونات

بالنسبة إلى مجموعة HDInsight المرتبطة بالمجال، يوجد إذنان من أذونات Apache Ambari مطلوبة عند استخدام إجراءات البرنامج النصي مع المجموعة:

  • AMBARI.RUN_CUSTOM_COMMAND. يمتلك دور مسؤول Ambari هذا الإذن بشكل افتراضي.
  • CLUSTER.RUN_CUSTOM_COMMAND. يمتلك كل من مسؤول مجموعة HDInsight ومسؤول Ambari هذا الإذن بشكل افتراضي.

لمزيد من المعلومات حول العمل باستخدام الأذونات مع HDInsight المرتبطة بالمجال، اطلع على إدارة مجموعات HDInsight من خلال حزمة أمان المؤسسات.

عنصر تحكم الوصول

إذا لم تكن المسؤول أو المالك لاشتراك Azure، فيجب أن يكون لحسابك حق وصول Contributor على الأقل إلى مجموعة الموارد التي تحتوي على مجموعة HDInsight.

يجب أن يكون الشخص الذي لديه حق وصول "المساهم" على الأقل في اشتراك Azure قد سجل الموفر مسبقاً. يحدث تسجيل الموفر عندما يقوم مستخدم لديه حق وصول "المساهم" إلى الاشتراك بإنشاء مورد. وللتعرف على التسجيل بدون إنشاء مورد، اطلع على تسجيل موفر باستخدام REST.

احصل على مزيد من المعلومات حول العمل مع إدارة الوصول:

أساليب استخدام إجراءات البرنامج النصي

لديك خيار تكوين إجراء البرنامج النصي ليتم تشغيله عند إنشاء المجموعة لأول مرة، أو تشغيله على مجموعة موجودة بالفعل.

إجراء البرنامج النصي في عملية إنشاء المجموعة

تختلف إجراءات البرنامج النصي المستخدمة أثناء إنشاء المجموعة اختلافاً طفيفاً عن إجراءات البرنامج النصي التي يتم تشغيلها على مجموعة موجودة بالفعل:

  • ويعد البرنامج النصي دائماً تلقائياً.
  • يمكن أن يؤدي فشل البرنامج النصي إلى فشل عملية إنشاء المجموعة.

يوضح الرسم التخطيطي التالي وقت تشغيل إجراء البرنامج النصي أثناء عملية الإنشاء:

Stages during cluster creation.

يتم تشغيل البرنامج النصي أثناء تكوين HDInsight. يعمل البرنامج النصي بالتوازي على جميع العقد المحددة في المجموعة. يعمل بامتيازات الجذر على العقد.

يمكنك القيام بعمليات مثل إيقاف الخدمات وبدء تشغيلها، بما في ذلك الخدمات المتعلقة بـ Apache Hadoop. إذا قمت بإيقاف الخدمات، فتأكد من تشغيل Ambari والخدمات الأخرى ذات الصلة بـ Hadoop قبل انتهاء البرنامج النصي. تحدد هذه الخدمات المطلوبة صحة المجموعة وحالتها أثناء إنشائها.

أثناء إنشاء المجموعة، يمكنك استخدام العديد من إجراءات البرنامج النصي معاً. يتم استدعاء هذه البرامج النصية بالترتيب الذي تم تحديدها به.

إشعار

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

هام

يجب أن تنتهي إجراءات البرنامج النصي في غضون 60 دقيقة، أو حين انتهاء مهلتها. أثناء تزويد المجموعة، يتم تشغيل البرنامج النصي بالتزامن مع عمليات الإعداد والتكوين الأخرى. قد يتسبب التنافس على الموارد مثل وقت وحدة المعالجة المركزية أو النطاق الترددي للشبكة في أن يستغرق البرنامج النصي وقتاً أطول للانتهاء مما هو عليه في بيئة التطوير لديك.

لتقليل الوقت الذي يستغرقه تشغيل البرنامج النصي، تجنب المهام مثل تنزيل التطبيقات من المصدر وتحويلها برمجياً. تجميع التطبيقات مسبقاً وتخزينها في برنامج ثنائي في Azure Storage.

إجراء البرنامج النصي على مجموعة قيد التشغيل

لا يؤدي فشل البرنامج النصي على مجموعة قيد التشغيل بالفعل إلى تغيير المجموعة تلقائياً إلى حالة فشل. بعد انتهاء البرنامج النصي، يجب أن تعود المجموعة إلى حالة التشغيل. وحتى إذا كانت المجموعة في حالة تشغيل، فقد يكون البرنامج النصي الفاشل قد عطل بعض الأشياء. على سبيل المثال، قد يقوم البرنامج النصي بحذف الملفات التي تحتاجها المجموعة.

تعمل إجراءات البرامج النصية من خلال امتيازات الجذر. تأكد من فهمك لما يفعله البرنامج النصي قبل تطبيقه على المجموعة.

عند تطبيق برنامج نصي على مجموعة، تتغير حالة المجموعة من قيد التشغيل إلى مقبول. ثم تتغير الحالة إلى تكوين HDInsight، ثم تعود الحالة مرة أخرى إلى حالة قيد التشغيل للبرامج النصي الناجحة. يتم تسجيل حالة البرنامج النصي في محفوظات إجراء البرنامج النصي. تطلعك هذه المعلومات على ما إذا كان البرنامج النصي قد نجح أم فشل. على سبيل المثال، يعرض Get-AzHDInsightScriptActionHistory PowerShell cmdlet حالة البرنامج النصي. ويقوم بإرجاع معلومات مشابهة للنص التالي:

ScriptExecutionId : 635918532516474303
StartTime         : 8/14/2017 7:40:55 PM
EndTime           : 8/14/2017 7:41:05 PM
Status            : Succeeded

هام

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

مثال لبرنامج نصي على إجراء البرنامج النصي

يمكن استخدام البرامج النصية لإجراء البرنامج النصي من خلال الأدوات المساعدة التالية:

  • مدخل Azure
  • Azure PowerShell
  • Azure CLI
  • HDInsight .NET SDK

يوفر HDInsight البرامج النصية لتثبيت المكونات التالية على مجموعات HDInsight:

الاسم البرنامج النصي
أضف حساب Azure Storage https://hdiconfigactions.blob.core.windows.net/linuxaddstorageaccountv01/add-storage-account-v01.sh. اطلع على إضافة حسابات تخزين إضافية إلى HDInsight.
قم بتثبيت Hue https://hdiconfigactions.blob.core.windows.net/linuxhueconfigactionv02/install-hue-uber-v02.sh. اطلع على تثبيت Hue واستخدامه على مجموعات HDInsight Hadoop.
قم بالتحميل المسبق لمكتبات Hive https://hdiconfigactions.blob.core.windows.net/linuxsetupcustomhivelibsv01/setup-customhivelibs-v01.sh. اطلع على إضافة مكتبات Apache Hive مخصصة عند إنشاء مجموعة HDInsight.

إجراء البرنامج النصي أثناء إنشاء المجموعة

يشرح هذا القسم الطرق المختلفة التي يمكنك من خلالها استخدام إجراءات البرنامج النصي عند إنشاء مجموعة HDInsight.

استخدام إجراء برنامج نصي أثناء إنشاء المجموعة من مدخل Azure

  1. ابدأ في إنشاء مجموعة كما هو موضح في إنشاء مجموعات مستندة إلى Linux في HDInsight باستخدام مدخل Azure. من علامة التبويب التكوين + الأسعار، حدد + إضافة إجراء البرنامج النصي.

    Azure portal cluster script action.

  2. استخدم الإدخال حدد برنامجاً نصياً لتحديد برنامج نصي تم إنشاؤه مسبقاً. لاستخدام برنامج نصي مخصص، حدد تخصيص. ثم أدخل اسم وعنوان URI لبرنامج Bash النصي إلى البرنامج النصي.

    Add a script in the select script form.

    يصف الجدول التالي العناصر الموجودة في النموذج:

    الخاصية القيمة
    حدد برنامجاً نصياً لاستخدام برنامج نصي خاص بك، حدد تخصيص. خلاف ذلك، حدد أحد البرامج النصية المتوفرة.
    الاسم حدد اسماً لإجراء البرنامج النصي.
    عنوان URI النصي Bash حدد URI الخاص بالبرنامج النصي.
    أساسي/عامل /وسيط حدد العقد التي يتم تشغيل البرنامج النصي عليها: أساسية أو عاملة أو وسيطة.
    المعلمات حدد المعلمات إذا طلبها البرنامج النصي.

    استخدم الإدخال استمرار في إجراء هذا البرنامج النصي للتأكد من تطبيق البرنامج النصي أثناء عمليات التوسيع.

  3. حدد إنشاء لحفظ البرنامج النصي. ثم يمكنك استخدام + إرسال جديد لإضافة برنامج نصي آخر.

    HDInsight multiple script actions.

    عند الانتهاء من إضافة البرامج النصية، تعود إلى علامة التبويب التكوين + الأسعار.

  4. أكمل خطوات إنشاء المجموعة المتبقية كالمعتاد.

استخدام إجراء برنامج نصي من قوالب Azure Resource Manager

يمكن استخدام إجراءات البرنامج النصي مع قوالب Azure Resource Manager. على سبيل المثال، اطلع على إنشاء مجموعة HDInsight على Linux وتشغيل إجراء البرنامج النصي.

في هذا المثال، تتم إضافة إجراء البرنامج النصي باستخدام التعليمات البرمجية التالية:

"scriptActions": [
    {
        "name": "setenvironmentvariable",
        "uri": "[parameters('scriptActionUri')]",
        "parameters": "headnode"
    }
]

احصل على مزيد من المعلومات حول كيفية نشر قالب:

استخدم إجراء برنامج نصي أثناء إنشاء المجموعة من Azure PowerShell

في هذا القسم، يمكنك استخدام الأمر Add-AzHDInsightScriptAction cmdlet لاستدعاء البرامج النصية لتخصيص مجموعة. قبل أن تبدأ، تأكد من تثبيت وتكوين Azure PowerShell. لاستخدام أوامر PowerShell هذه، تحتاج إلى وحدة AZ.

يوضح البرنامج النصي التالي كيفية تطبيق إجراء برنامج نصي عند إنشاء مجموعة باستخدام PowerShell:

# Login to your Azure subscription
$context = Get-AzContext
if ($context -eq $null) 
{
    Connect-AzAccount
}
$context

# If you have multiple subscriptions, set the one to use
# $subscriptionID = "<subscription ID to use>"
# Select-AzSubscription -SubscriptionId $subscriptionID

# Get user input/default values
$resourceGroupName = Read-Host -Prompt "Enter the resource group name"
$location = Read-Host -Prompt "Enter the Azure region to create resources in"

# Create the resource group
New-AzResourceGroup -Name $resourceGroupName -Location $location

$defaultStorageAccountName = Read-Host -Prompt "Enter the name of the storage account"

# Create an Azure storae account and container
New-AzStorageAccount `
    -ResourceGroupName $resourceGroupName `
    -Name $defaultStorageAccountName `
    -Type Standard_LRS `
    -Location $location
$defaultStorageAccountKey = (Get-AzStorageAccountKey `
                                -ResourceGroupName $resourceGroupName `
                                -Name $defaultStorageAccountName)[0].Value
$defaultStorageContext = New-AzStorageContext `
                                -StorageAccountName $defaultStorageAccountName `
                                -StorageAccountKey $defaultStorageAccountKey

# Get information for the HDInsight cluster
$clusterName = Read-Host -Prompt "Enter the name of the HDInsight cluster"
# Cluster login is used to secure HTTPS services hosted on the cluster
$httpCredential = Get-Credential -Message "Enter Cluster login credentials" -UserName "admin"
# SSH user is used to remotely connect to the cluster using SSH clients
$sshCredential = Get-Credential -Message "Enter SSH user credentials"

# Default cluster size (# of worker nodes), version, type, and OS
$clusterSizeInNodes = "4"
$clusterVersion = "3.5"
$clusterType = "Hadoop"
$clusterOS = "Linux"
# Set the storage container name to the cluster name
$defaultBlobContainerName = $clusterName

# Create a blob container. This holds the default data store for the cluster.
New-AzStorageContainer `
    -Name $clusterName -Context $defaultStorageContext

# Create an HDInsight configuration object
$config = New-AzHDInsightClusterConfig
# Add the script action
$scriptActionUri="https://hdiconfigactions.blob.core.windows.net/linuxgiraphconfigactionv01/giraph-installer-v01.sh"
# Add for the head nodes
$config = Add-AzHDInsightScriptAction `
    -Config $config `
    -Name "Install Giraph" `
    -NodeType HeadNode `
    -Uri $scriptActionUri
# Continue adding the script action for any other node types
# that it must run on.
$config = Add-AzHDInsightScriptAction `
    -Config $config `
    -Name "Install Giraph" `
    -NodeType WorkerNode `
    -Uri $scriptActionUri

# Create the cluster using the configuration object
New-AzHDInsightCluster `
    -Config $config `
    -ResourceGroupName $resourceGroupName `
    -ClusterName $clusterName `
    -Location $location `
    -ClusterSizeInNodes $clusterSizeInNodes `
    -ClusterType $clusterType `
    -OSType $clusterOS `
    -Version $clusterVersion `
    -HttpCredential $httpCredential `
    -DefaultStorageAccountName "$defaultStorageAccountName.blob.core.windows.net" `
    -DefaultStorageAccountKey $defaultStorageAccountKey `
    -DefaultStorageContainer $containerName `
    -SshCredential $sshCredential

قد يستغرق الأمر عدة دقائق قبل إنشاء المجموعة.

استخدام إجراء برنامج نصي أثناء إنشاء المجموعة من HDInsight .NET SDK

يوفر HDInsight .NET SDK مكتبات العميل التي تسهل العمل مع HDInsight من تطبيق .NET. للحصول على نموذج تعليمات برمجية،، اطلع على إجراءات البرنامج النصي.

تطبيق إجراء البرنامج النصي على نظام مجموعة قيد التشغيل

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

تطبيق إجراء برنامج نصي على نظام مجموعة قيد التشغيل من مدخل Azure

  1. سجّل الدخول إلى مدخل Azure وحدد موقع مجموعتك.

  2. من طريقة العرض الافتراضية، ضمن الإعدادات، حدد إجراءات البرنامج النصي.

  3. من أعلى صفحة إجراءات البرنامج النصي، حدد + إرسال جديد.

    Add a script to a running cluster.

  4. استخدم الإدخال حدد برنامجاً نصياً لتحديد برنامج نصي تم إنشاؤه مسبقاً. لاستخدام برنامج نصي مخصص، حدد تخصيص. ثم أدخل اسم وعنوان URI لبرنامج Bash النصي إلى البرنامج النصي.

    Add a script in the select script form.

    يصف الجدول التالي العناصر الموجودة في النموذج:

    الخاصية القيمة
    حدد برنامجاً نصياً لاستخدام برنامج نصي خاص بك، حدد تخصيص. خلاف ذلك، حدد أحد البرامج النصية المتوفرة.
    الاسم حدد اسماً لإجراء البرنامج النصي.
    عنوان URI النصي Bash حدد URI الخاص بالبرنامج النصي.
    أساسي/عامل /وسيط حدد العقد التي يتم تشغيل البرنامج النصي عليها: أساسية أو عاملة أو وسيطة.
    المعلمات حدد المعلمات إذا طلبها البرنامج النصي.

    استخدم الإدخال استمرار في إجراء هذا البرنامج النصي للتأكد من تطبيق البرنامج النصي أثناء عمليات التوسيع.

  5. أخيراً، حدد الزر إنشاء لتطبيق البرنامج النصي على المجموعة.

تطبيق إجراء برنامج نصي على نظام مجموعة قيد التشغيل من Azure PowerShell

لاستخدام أوامر PowerShell هذه، تحتاج إلى وحدة AZ. يوضح المثال التالي كيفية تطبيق إجراء البرنامج النصي على مجموعة قيد التشغيل:

# Get information for the HDInsight cluster
$clusterName = Read-Host -Prompt "Enter the name of the HDInsight cluster"
$scriptActionName = Read-Host -Prompt "Enter the name of the script action"
$scriptActionUri = Read-Host -Prompt "Enter the URI of the script action"
# The node types that the script action is applied to
$nodeTypes = "headnode", "workernode"

# Apply the script and mark as persistent
Submit-AzHDInsightScriptAction -ClusterName $clusterName `
    -Name $scriptActionName `
    -Uri $scriptActionUri `
    -NodeTypes $nodeTypes `
    -PersistOnSuccess

بعد انتهاء العملية، ستتلقى معلومات مشابهة للنص التالي:

OperationState  : Succeeded
ErrorMessage    :
Name            : Giraph
Uri             : https://hdiconfigactions.blob.core.windows.net/linuxgiraphconfigactionv01/giraph-installer-v01.sh
Parameters      :
NodeTypes       : {HeadNode, WorkerNode}

تطبيق إجراء برنامج نصي على نظام مجموعة قيد التشغيل من Azure CLI

قبل أن تبدأ، تأكد من تثبيت وتكوين Azure CLI. تأكد من حصولك على أحدث إصدار. لمزيد من المعلومات، اطلع على تثبيت Azure CLI.

  1. المصادقة على اشتراك Azure:

    az login
    
  2. تطبيق إجراء البرنامج النصي على مجموعة قيد التشغيل:

    az hdinsight script-action execute --cluster-name CLUSTERNAME --name SCRIPTNAME --resource-group RESOURCEGROUP --roles ROLES
    

    الأدوار الصالحة هي headnode وworkernode وzookeepernode وedgenode. إذا كان يجب تطبيق البرنامج النصي على عدة أنواع من العقد، فقم بفصل الأدوار بمسافة. على سبيل المثال، --roles headnode workernode

    لدوام البرنامج النصي، أضف --persist-on-success. يمكنك أيضاً العمل على دوام البرنامج النصي لاحقاً باستخدام az hdinsight script-action promote.

تطبيق إجراء البرنامج النصي على مجموعة قيد التشغيل باستخدام واجهة برمجة تطبيقات REST

اطلع على واجهة برمجة تطبيقات REST للمجموعة في Azure HDInsight.

تطبيق إجراء برنامج نصي على نظام مجموعة قيد التشغيل من HDInsight .NET SDK

للحصول على مثال لاستخدام .NET SDK لتطبيق البرامج النصية على مجموعة، اطلع على تطبيق إجراء برنامج نصي على مجموعة HDInsight تعمل بنظام التشغيل Linux.

عرض المحفوظات وترقية إجراءات البرنامج النصي وتخفيضها

مدخل Microsoft Azure

  1. سجّل الدخول إلى مدخل Azure وحدد موقع مجموعتك.

  2. من طريقة العرض الافتراضية، ضمن الإعدادات، حدد إجراءات البرنامج النصي.

  3. يتم عرض محفوظات البرامج النصية الخاصة بهذه المجموعة في قسم إجراءات البرنامج النصي. تتضمن هذه المعلومات قائمة بالبرامج النصية الدائمة. تعرض لقطة الشاشة التالية أنه تم تشغيل البرنامج النصي Solr على هذه المجموعة. ولا تعرض لقطة الشاشة أي برامج نصية دائمة.

    Portal script actions submit history.

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

    Script actions properties promote.

  5. يمكنك أيضاً تحديد علامة الحذف ...، على يسار الإدخالات في قسم إجراءات البرنامج النصي للقيام بالإجراءات.

    Persisted script actions delete.

Azure PowerShell

cmdlet الدالة
Get-AzHDInsightPersistedScriptAction استرداد المعلومات حول إجراءات البرنامج النصي الدائمة. لا يقوم أمر cmdlet هذا بالتراجع عن الإجراءات التي قام بها برنامج نصي، بل يزيل فقط علامة دائمة.
Get-AzHDInsightScriptActionHistory استرجاع محفوظات إجراءات البرنامج النصي المطبقة على نظام المجموعة أو تفاصيل برنامج نصي معين.
Set-AzHDInsightPersistedScriptAction ترقية إجراء برنامج نصي ad hoc إلى إجراء برنامج نصي دائم.
Remove-AzHDInsightPersistedScriptAction خفض إجراء برنامج نصي دائم إلى إجراء برنامج نصي ad hoc.

يوضح البرنامج النصي في المثال التالي استخدام أوامر cmdlet لترقية برنامج نصي ثم تخفيضه.

# Get a history of scripts
Get-AzHDInsightScriptActionHistory -ClusterName mycluster

# From the list, we want to get information on a specific script
Get-AzHDInsightScriptActionHistory -ClusterName mycluster `
    -ScriptExecutionId 635920937765978529

# Promote this to a persisted script
# Note: the script must have a unique name to be promoted
# if the name is not unique, you receive an error
Set-AzHDInsightPersistedScriptAction -ClusterName mycluster `
    -ScriptExecutionId 635920937765978529

# Demote the script back to ad hoc
# Note that demotion uses the unique script name instead of
# execution ID.
Remove-AzHDInsightPersistedScriptAction -ClusterName mycluster `
    -Name "Install Giraph"

Azure CLI

الأمر ‏‏الوصف
az hdinsight script-action delete يحذف إجراءً نصياً دائماً محدداً للمجموعة. لا يقوم هذا الأمر بالتراجع عن الإجراءات التي قام بها برنامج نصي، بل يزيل فقط علامة دائمة.
az hdinsight script-action execute تنفيذ إجراءات البرنامج النصي على مجموعة HDInsight المحددة.
az hdinsight script-action list يسرد جميع إجراءات البرنامج النصي الدائمة للمجموعة المحددة.
az hdinsight script-action list-execution-history يسرد جميع محفوظات تنفيذ البرامج النصية للمجموعة المحددة.
az hdinsight script-action promote يقوم بترقية تنفيذ البرنامج النصي المؤقت المحدد إلى برنامج نصي دائم.
az hdinsight script-action show-execution-details يحصل على تفاصيل تنفيذ البرنامج النصي لمعرف تنفيذ البرنامج النصي المحدد.

HDInsight .NET SDK

للاطلاع على مثال لاستخدام عدة تطوير برامج .NET لاسترداد محفوظات البرنامج النصي من نظام مجموعة، أو ترقية البرامج النصية أو تخفضيها، راجع "تطبيق إجراء برنامج نصي على نظام مجموعة HDInsight قيد التشغيل يستند إلى Linux".

إشعار

يوضح هذا المثال أيضاً كيفية تثبيت تطبيق HDInsight باستخدام .NET SDK.

الخطوات التالية