Anpassen von Azure HDInsight-Clustern mithilfe von Skriptaktionen

Azure HDInsight verfügt über eine Konfigurationsmethode namens Skriptaktionen, bei der benutzerdefinierte Skripts zum Anpassen des Clusters aufgerufen werden. Diese Skripts werden auch zum Installieren weitere Komponenten und zum Ändern von Konfigurationseinstellungen verwendet. Skriptaktionen können während oder nach der Clustererstellung verwendet werden.

Skriptaktionen können auch als HDInsight-Anwendung im Azure Marketplace veröffentlicht werden. Weitere Informationen zu HDInsight-Anwendungen finden Sie unter Veröffentlichen von HDInsight-Anwendungen im Azure Marketplace.

Grundlegendes zu Skriptaktionen

Eine Skriptaktion ist ein Bash-Skript, das auf den Knoten in einem HDInsight-Cluster ausgeführt wird. Skriptaktionen verfügen über folgende Merkmale und Features:

  • Auf den Bash-Skript-URI (der Ort für den Zugriff auf die Datei) muss vom HDInsight-Ressourcenanbieter und vom Cluster aus zugegriffen werden können.

  • Dies sind zwei mögliche Speicherorte:

    • Für reguläre (nicht-ESP-) Cluster:

      • Ein Blob in einem Azure Storage-Konto, das entweder das primäre oder ein zusätzliches Speicherkonto für den HDInsight-Cluster darstellt. HDInsight wird während der Clustererstellung Zugriff auf beide Typen von Speicherkonten gewährt.

        Wichtig

        Rotieren Sie den Speicherschlüssel für dieses Azure Storage-Konto nicht, da dies dazu führt, dass nachfolgende Skriptaktionen mit darin gespeicherten Skripts fehlschlagen.

      • Data Lake Storage Gen1: Der Dienstprinzipal, der von HDInsight zum Zugreifen auf Data Lake Storage genutzt wird, muss über Lesezugriff auf das Skript verfügen. Das Format des Bash-Skript-URI ist adl://DATALAKESTOREACCOUNTNAME.azuredatalakestore.net/path_to_file.

      • Die Verwendung von Data Lake Storage Gen2 wird für Skriptaktionen nicht empfohlen. abfs:// wird für den Bash-Skript-URI nicht unterstützt. https://-URIs sind möglich, doch werden sie für Container mit öffentlichem Zugriff und geöffneter Firewall für den HDInsight-Ressourcenanbieter verwendet und daher nicht empfohlen.

      • Ein öffentlicher Dateifreigabedienst, auf den über https://-Pfade zugegriffen werden kann. Beispiele sind Azure Blob, GitHub und OneDrive. Beispiel-URIs finden Sie unter Beispielskripts für Skriptaktionen.

    • Für Cluster mit ESP werden die wasb://-, wasbs://- und http[s]://-URIs unterstützt.

  • Die Ausführung der Skriptaktionen kann auf bestimmte Knotentypen beschränkt werden. Beispiele wären etwa Hauptknoten und Workerknoten.

  • Bei den Skriptaktionen kann es sich um permanente oder Ad-hoc-Skriptaktionen handeln.

    • Permanente Skriptaktionen müssen einen eindeutigen Namen haben. Permanente Skripts werden verwendet, um mithilfe von Skalierungsvorgängen neue Workerknoten anzupassen, die dem Cluster hinzugefügt wurden. Bei Skalierungsvorgängen kann ein permanentes Skript auch Änderungen auf einen anderen Knotentyp anwenden. Ein Beispiel wäre etwa ein Hauptknoten.
    • Ad-hoc-Skripts werden nicht beibehalten. Skriptaktionen, die während der Clustererstellung verwendet werden, werden automatisch zu permanenten Skripts. Sie werden nicht auf Workerknoten angewendet, die dem Cluster hinzugefügt werden, nachdem das Skript ausgeführt wurde. Sie können ein Ad-hoc-Skript aber nachträglich in ein permanentes Skript oder ein permanentes Skript in ein Ad-hoc-Skript umwandeln. Skripts, deren Ausführung nicht erfolgreich ist, werden nicht zu permanenten Skripts. Dies gilt auch, wenn Sie speziell angeben, dass dies der Fall sein soll.
  • Skriptaktionen können Parameter akzeptieren, die von den Skripts während der Ausführung verwendet werden.

  • Skriptaktionen werden mit Stammebenenberechtigungen auf den Clusterknoten ausgeführt.

  • Skriptaktionen können über das Azure-Portal, Azure PowerShell, die Azure CLI oder das HDInsight .NET SDK verwendet werden.

  • Skriptaktionen zum Entfernen oder Ändern von Dienstdateien auf der VM können die Dienstintegrität und -verfügbarkeit beeinträchtigen.

Der Cluster protokolliert den Verlauf aller Skripts, die ausgeführt wurden. Der Verlauf ist hilfreich, wenn Sie die ID eines Skripts für die Herauf- oder Herabstufung von Vorgängen benötigen.

Wichtig

Die von einer Skriptaktion vorgenommenen Änderungen können nicht automatisch rückgängig gemacht werden. Sie können die Änderungen entweder manuell zurückzusetzen oder ein Skript angeben, das sie zurücksetzt.

Berechtigungen

Für einen in eine Domäne eingebundenen HDInsight-Cluster sind zwei Ambari-Berechtigungen erforderlich, um Skriptaktionen mit dem Cluster verwenden zu können:

  • AMBARI.RUN_CUSTOM_COMMAND. Die Rolle „Ambari-Administrator“ verfügt standardmäßig über diese Berechtigung.
  • CLUSTER.RUN_CUSTOM_COMMAND. Sowohl der HDInsight-Clusteradministrator als auch der Ambari-Administrator verfügt standardmäßig über diese Berechtigung.

Weitere Informationen zur Verwendung von Berechtigungen mit in eine Domäne eingebundenem HDInsight finden Sie unter Verwalten von HDInsight-Clustern mit dem Enterprise-Sicherheitspaket.

Zugriffssteuerung

Wenn Sie nicht der Administrator oder Besitzer des Azure-Abonnements sind, muss Ihr Konto mindestens Zugriff vom Typ Contributor auf die Ressourcengruppe haben, die den HDInsight-Cluster enthält.

Ein Benutzer, der für das Azure-Abonnement mindestens über Zugriff der Stufe „Mitwirkender“ verfügt, muss den Anbieter bereits registriert haben. Die Anbieterregistrierung findet statt, wenn ein Benutzer, der über Abonnementzugriff der Stufe „Mitwirkender“ verfügt, eine Ressource erstellt. Informationen zur Registrierung ohne Erstellung einer Ressource finden Sie unter Registrieren eines Anbieters mithilfe von REST.

Weitere Informationen zur Verwendung der Zugriffsverwaltung finden Sie hier:

Methoden für die Verwendung von Skriptaktionen

Sie haben die Möglichkeit, eine Skriptaktion zu konfigurieren, die ausgeführt wird, wenn der Cluster erstmalig erstellt wird, oder Sie können sie in einem vorhandenen Cluster ausführen.

Skriptaktionen im Clustererstellungsvorgang

Während der Clustererstellung verwendete Skriptaktionen unterscheiden sich geringfügig von Skriptaktionen, die in einem vorhandenen Cluster ausgeführt wurden:

  • Das Skript wird automatisch dauerhaft gespeichert.
  • Ein Fehler im Skript kann dazu führen, dass die Clustererstellung nicht erfolgreich ist.

Das folgende Diagramm veranschaulicht, wann Skriptaktionen während des Erstellungsvorgangs ausgeführt werden:

Stages during cluster creation.

Das Skript wird ausgeführt, während HDInsight konfiguriert wird. Das Skript wird parallel auf allen angegebenen Knoten im Cluster ausgeführt. Die Ausführung erfolgt dabei mit Stammberechtigungen für die Knoten.

Sie können Dienste beenden und starten, einschließlich Diensten in Zusammenhang mit Apache Hadoop. Wenn Sie Dienste beenden, stellen Sie sicher, dass Ambari und andere Hadoop-bezogene Dienste ausgeführt werden, bevor die Ausführung des Skripts abgeschlossen ist. Diese erforderlichen Dienste ermitteln die Integrität und den Zustand des Clusters, während dieser erstellt wird.

Während der Clustererstellung können mehrere Skriptaktionen gleichzeitig verwendet werden. Diese Skripts werden in der Reihenfolge aufgerufen, in der sie angegeben wurden.

Hinweis

Wenn das Skript in einem anderen Speicherkonto vorhanden ist als in dem Konto, das als Clusterspeicher angegeben ist (zum Zeitpunkt der Clustererstellung), benötigt dieses Konto öffentlichen Zugriff.

Wichtig

Skriptaktionen müssen innerhalb von 60 Minuten abgeschlossen werden. Andernfalls tritt ein Timeout auf. Während der Clusterbereitstellung wird das Skript gleichzeitig mit anderen Einrichtungs- und Konfigurationsprozessen ausgeführt. Der Wettbewerb um Ressourcen wie CPU-Zeit oder Netzwerkbandbreite kann dazu führen, dass es länger als in Ihrer Entwicklungsumgebung dauert, bis das Skript abgeschlossen ist.

Um die Ausführungsdauer des Skripts zu minimieren, vermeiden Sie Aufgaben wie das Herunterladen und Kompilieren von Anwendungen aus der Quelle. Kompilieren Sie Anwendungen vor, und speichern Sie die Binärdateien in Azure Storage.

Skriptaktion in einem ausgeführten Cluster

Ein Skriptfehler in einem bereits ausgeführten Cluster führt nicht automatisch dazu, dass der Cluster in einen Fehlerzustand versetzt wird. Nach Abschluss eines Skripts sollte der Cluster wieder in den Ausführungszustand zurückkehren. Auch wenn sich der Cluster im Zustand „Wird ausgeführt“ befindet, kann es sein, dass das fehlerhafte Skript etwas beschädigt hat. Ein Skript kann beispielsweise vom Cluster benötigte Dateien löschen.

Skriptaktionen werden mit Stammberechtigungen ausgeführt. Stellen Sie also sicher, dass Sie die Auswirkungen eines Skripts verstehen, bevor Sie es auf den Cluster anwenden.

Wenn Sie ein Skript auf einem Cluster anwenden, ändert sich der Clusterzustand von Wird ausgeführt in Akzeptiert. Danach ändert sich der Zustand in HDInsight-Konfiguration, bevor er schließlich wieder Wird ausgeführt lautet (bei einem erfolgreichen Skript). Der Skriptstatus wird im Skriptaktionsverlauf protokolliert. Diese Angabe gibt Aufschluss darüber, ob das Skript erfolgreich ausgeführt wurde. Das PowerShell-Cmdlet Get-AzHDInsightScriptActionHistory zeigt beispielsweise den Status eines Skripts an. Die zurückgegebenen Informationen sehen in etwa wie folgt aus:

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

Wichtig

Wenn Sie nach dem Erstellen des Clusters das Kennwort für den Clusterbenutzer (Admin) ändern, sind Skriptaktionen, die für diesen Cluster ausgeführt werden, möglicherweise nicht mehr erfolgreich. Falls Sie über permanente Skriptaktionen für Workerknoten verfügen, sind diese unter Umständen nicht erfolgreich, wenn Sie den Cluster skalieren.

Beispielskripts für Skriptaktionen

Skripts für Skriptaktionen können über die folgenden Hilfsprogramme verwendet werden:

  • Azure-Portal
  • Azure PowerShell
  • Azure CLI
  • HDInsight .NET-SDK

HDInsight verfügt über Skripts zum Installieren der folgenden Komponenten auf HDInsight-Clustern:

Name Skript
Hinzufügen eines Azure Storage-Kontos https://hdiconfigactions.blob.core.windows.net/linuxaddstorageaccountv01/add-storage-account-v01.sh. Weitere Informationen finden Sie unter Hinzufügen zusätzlicher Speicherkonten zu HDInsight.
Installieren von Hue https://hdiconfigactions.blob.core.windows.net/linuxhueconfigactionv02/install-hue-uber-v02.sh. Weitere Informationen finden Sie unter Installieren und Verwenden von Hue in HDInsight Hadoop-Clustern.
Vorabladen von Hive-Bibliotheken https://hdiconfigactions.blob.core.windows.net/linuxsetupcustomhivelibsv01/setup-customhivelibs-v01.sh. Weitere Informationen finden Sie unter Hinzufügen benutzerdefinierter Apache Hive-Bibliotheken beim Erstellen des HDInsight-Clusters.

Skriptaktion während der Clustererstellung

In diesem Abschnitt werden die verschiedenen Verwendungsmöglichkeiten von Skriptaktionen beim Erstellen eines HDInsight-Clusters erläutert.

Verwenden einer Skriptaktion während der Clustererstellung im Azure-Portal

  1. Beginnen Sie mit dem Erstellen eines Clusters wie unter Erstellen von Linux-basierten Clustern in HDInsight mit dem Azure-Portal beschrieben. Wählen Sie in der Registerkarte Konfiguration + Preise+ Skriptaktion hinzufügen aus.

    Azure portal cluster script action.

  2. Wählen Sie über den Eintrag Skript auswählen ein vorgefertigtes Skript aus. Wählen Sie Benutzerdefiniert aus, wenn Sie ein Skript verwenden möchten. Geben Sie dann Name und Bash-Skript-URI für Ihr Skript an.

    Add a script in the select script form.

    Die folgende Tabelle beschreibt die Elemente des Formulars:

    Eigenschaft Wert
    Auswählen eines Skripts Wählen Sie Benutzerdefiniert aus, wenn Sie ein eigenes Skript verwenden möchten. Wählen Sie andernfalls eines der bereitgestellten Skripts aus.
    Name Geben Sie einen Namen für die Skriptaktion an.
    Bash-Skript-URI Geben Sie den URI des Skripts an.
    Haupt-/Workerknoten/Zookeeper Geben Sie die Knoten an, auf denen das Skript ausgeführt wird: Hauptknoten, Worker oder ZooKeeper.
    Parameter Geben Sie die Parameter an, sofern dies für das Skript erforderlich ist.

    Verwenden Sie den Eintrag Speichern Sie diese Skriptaktion, um sicherzustellen, dass das Skript bei Skalierungsvorgängen angewendet wird.

  3. Wählen Sie Erstellen aus, um das Skript zu speichern. Anschließend können Sie + Neue übermitteln verwenden, um ein weiteres Skript hinzufügen.

    HDInsight multiple script actions.

    Kehren Sie zur Registerkarte Konfiguration + Preise zurück, wenn Sie alle gewünschten Skripts hinzugefügt haben.

  4. Führen Sie die verbleibenden Schritte der Clustererstellung wie gewohnt durch.

Verwenden einer Skriptaktion über Azure Resource Manager-Vorlagen

Skriptaktionen können mit Azure Resource Manager-Vorlagen verwendet werden. Ein Beispiel finden Sie unter Create HDInsight Linux Cluster and run a script action (Erstellen eines HDInsight-Linux-Clusters und Ausführen einer Skriptaktion).

In diesem Beispiel wird die Skriptaktion mithilfe des folgenden Codes hinzugefügt:

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

Weitere Informationen zum Bereitstellen einer Vorlage finden Sie hier:

Verwenden einer Skriptaktion während der Clustererstellung mit Azure PowerShell

In diesem Abschnitt verwenden Sie das Cmdlet Add-AzHDInsightScriptAction, um Skripts zum Anpassen eines Clusters aufzurufen. Installieren und konfigurieren Sie zunächst Azure PowerShell. Um diese PowerShell-Befehle verwenden zu können, benötigen Sie das AZ-Modul.

Das folgende Skript zeigt, wie Sie eine Skriptaktion anwenden, wenn Sie einen Cluster mithilfe von PowerShell erstellen:

# 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

Die Erstellung des Clusters kann einige Minuten in Anspruch nehmen.

Verwenden einer Skriptaktion während der Clustererstellung im HDInsight .NET SDK

Das HDInsight .NET SDK enthält Clientbibliotheken zur Vereinfachung der Arbeit mit HDInsight in .NET-Anwendungen. Ein Codebeispiel finden Sie unter Skriptaktionen.

Skriptaktion auf einem ausgeführten Cluster

In diesem Abschnitt erfahren Sie, wie Sie Skriptaktionen auf einen ausgeführten Cluster anwenden.

Anwenden einer Skriptaktion auf einen ausgeführten Cluster über das Azure-Portal

  1. Melden Sie sich beim Azure-Portal an, und suchen Sie den Cluster.

  2. Klicken Sie in der Standardansicht unter Einstellungen auf Script actions (Skriptaktionen).

  3. Wählen Sie oben auf der Seite Script actions (Skriptaktionen) die Option + Submit new (+ Neue übermitteln) aus.

    Add a script to a running cluster.

  4. Wählen Sie über den Eintrag Skript auswählen ein vorgefertigtes Skript aus. Wählen Sie Benutzerdefiniert aus, wenn Sie ein Skript verwenden möchten. Geben Sie dann Name und Bash-Skript-URI für Ihr Skript an.

    Add a script in the select script form.

    Die folgende Tabelle beschreibt die Elemente des Formulars:

    Eigenschaft Wert
    Auswählen eines Skripts Wählen Sie Benutzerdefiniert aus, wenn Sie ein eigenes Skript verwenden möchten. Wählen Sie andernfalls ein bereitgestelltes Skript aus.
    Name Geben Sie einen Namen für die Skriptaktion an.
    Bash-Skript-URI Geben Sie den URI des Skripts an.
    Haupt-/Worker-/Zookeeper-Knoten Geben Sie die Knoten an, auf denen das Skript ausgeführt wird: Hauptknoten, Worker oder ZooKeeper.
    Parameter Geben Sie die Parameter an, sofern dies für das Skript erforderlich ist.

    Verwenden Sie den Eintrag Speichern Sie diese Skriptaktion, um sicherzustellen, dass das Skript bei Skalierungsvorgängen angewendet wird.

  5. Wählen Sie abschließend die Schaltfläche Erstellen aus, um das Skript auf den Cluster anzuwenden.

Anwenden einer Skriptaktion auf einen ausgeführten Cluster mit Azure PowerShell

Um diese PowerShell-Befehle verwenden zu können, benötigen Sie das AZ-Modul. Das folgende Beispiel zeigt, wie Sie eine Skriptaktion auf einen ausgeführten Cluster anwenden:

# 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

Nach Abschluss des Vorgangs sollten Informationen angezeigt werden, die in etwa wie folgt aussehen:

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

Anwenden einer Skriptaktion auf einen ausgeführten Cluster über die Azure-Befehlszeilenschnittstelle (CLI)

Installieren und konfigurieren Sie zunächst die Azure-Befehlszeilenschnittstelle. Stellen Sie sicher, dass Sie über die aktuelle Version verfügen. Weitere Informationen finden Sie unter Installieren der Azure-Befehlszeilenschnittstelle.

  1. Authentifizieren Sie sich bei Ihrem Azure-Abonnement:

    az login
    
  2. Wenden Sie eine Skriptaktion auf einen ausgeführten Cluster an:

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

    Gültige Rollen sind headnode, workernode, zookeepernode, edgenode. Wenn das Skript auf mehrere Knotentypen angewendet werden soll, trennen Sie die Rollen durch ein Leerzeichen. Beispiel: --roles headnode workernode.

    Fügen Sie --persist-on-success hinzu, um das Skript dauerhaft zu speichern. Sie können das Skript auch zu einem späteren Zeitpunkt mithilfe von az hdinsight script-action promote dauerhaft speichern.

Anwenden einer Skriptaktion auf einen ausgeführten Cluster mithilfe einer REST-API

Weitere Informationen finden Sie unter Cluster REST API in Azure HDInsight (Cluster-REST-API in Azure HDInsight).

Anwenden einer Skriptaktion auf einen ausgeführten Cluster über das HDInsight .NET SDK

Ein Beispiel für die Anwendung von Skripts auf einen Cluster mithilfe des .NET SDK finden Sie unter Apply a Script Action against a running Linux-based HDInsight cluster (Anwenden einer Skriptaktion für einen ausgeführten Linux-basierten HDInsight-Cluster).

Anzeigen des Verlaufs und Höherstufen und Tieferstufen von Skriptaktionen

Das Azure-Portal

  1. Melden Sie sich beim Azure-Portal an, und suchen Sie den Cluster.

  2. Klicken Sie in der Standardansicht unter Einstellungen auf Script actions (Skriptaktionen).

  3. Im Abschnitt mit den Skriptaktionen wird ein Verlauf der Skripts für diesen Cluster angezeigt. Zu diesen Informationen gehört auch eine Liste der gespeicherten Skripts. Der folgende Screenshot zeigt, dass das Solr-Skript für diesen Cluster ausgeführt wurde. Auf dem Screenshot sind keine permanenten Skripts zu sehen.

    Portal script actions submit history.

  4. Wählen Sie ein Skript aus dem Verlauf aus, um den Abschnitt Eigenschaften für dieses Skript anzuzeigen. Oben im Fenster können Sie das Skript erneut ausführen oder höherstufen.

    Script actions properties promote.

  5. Sie können im Abschnitt mit den Skriptaktionen auch die Auslassungspunkte ( ... ) rechts neben den Einträgen auswählen, um Aktionen auszuführen.

    Persisted script actions delete.

Azure PowerShell

Cmdlet Funktion
Get-AzHDInsightPersistedScriptAction Abrufen von Informationen zu permanenten Skriptaktionen Mit diesem Cmdlet werden die mit einem Skript durchgeführten Aktionen nicht rückgängig gemacht, sondern nur das Persistenzflag entfernt.
Get-AzHDInsightScriptActionHistory Abrufen eines Verlaufs der auf den Cluster angewendeten Skriptaktionen oder von Details zu einem bestimmten Skript
Set-AzHDInsightPersistedScriptAction Höherstufen einer ad hoc-Skriptaktion zu einer permanenten Skriptaktion
Remove-AzHDInsightPersistedScriptAction Tieferstufen einer permanenten Skriptaktion zu einer ad hoc-Aktion

Das folgende Beispielskript veranschaulicht, wie die Cmdlets zum Höherstufen und anschließend zum Tieferstufen eines Skripts verwendet werden.

# 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

Get-Help BESCHREIBUNG
az hdinsight script-action delete Löscht eine angegebene permanente Skriptaktion des Clusters. Mit diesem Befehl werden die mit einem Skript durchgeführten Aktionen nicht rückgängig gemacht, sondern nur das Persistenzflag entfernt.
az hdinsight script-action execute Ausführen von Skriptaktionen für den angegebenen HDInsight-Cluster
az hdinsight script-action list Listet alle permanenten Skriptaktionen für den angegebenen Cluster auf.
az hdinsight script-action list-execution-history Listet den Ausführungsverlauf aller Skripts für den angegebenen Cluster auf.
az hdinsight script-action promote Stuft die angegebene Ad-hoc-Skriptausführung auf ein permanentes Skript hoch.
az hdinsight script-action show-execution-details Ruft die Details zur Skriptausführung für die angegebene Skriptausführungs-ID ab.

HDInsight .NET-SDK

Ein Beispiel für die Verwendung des .NET SDK zum Abrufen des Skriptverlaufs aus einem Cluster sowie zum Höherstufen oder Tieferstufen von Skripts finden Sie unter „Anwenden einer Skriptaktion für einen ausgeführten Linux-basierten HDInsight-Cluster“.

Hinweis

Dieses Beispiel veranschaulicht auch die Installation einer HDInsight-Anwendung mithilfe des .NET SDK.

Nächste Schritte