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://
- undhttp[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:
- Erste Schritte mit der Zugriffsverwaltung im Azure-Portal
- Zuweisen von Azure-Rollen zum Verwalten des Zugriffs auf Ihre Azure-Abonnementressourcen
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:
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
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.
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.
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.
Wählen Sie Erstellen aus, um das Skript zu speichern. Anschließend können Sie + Neue übermitteln verwenden, um ein weiteres Skript hinzufügen.
Kehren Sie zur Registerkarte Konfiguration + Preise zurück, wenn Sie alle gewünschten Skripts hinzugefügt haben.
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:
- Bereitstellen von Ressourcen mit Azure Resource Manager-Vorlagen und Azure PowerShell
- Bereitstellen von Ressourcen mit Azure Resource Manager-Vorlagen und Azure CLI
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
Melden Sie sich beim Azure-Portal an, und suchen Sie den Cluster.
Klicken Sie in der Standardansicht unter Einstellungen auf Script actions (Skriptaktionen).
Wählen Sie oben auf der Seite Script actions (Skriptaktionen) die Option + Submit new (+ Neue übermitteln) aus.
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.
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.
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.
Authentifizieren Sie sich bei Ihrem Azure-Abonnement:
az login
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 vonaz 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
Melden Sie sich beim Azure-Portal an, und suchen Sie den Cluster.
Klicken Sie in der Standardansicht unter Einstellungen auf Script actions (Skriptaktionen).
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.
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.
Sie können im Abschnitt mit den Skriptaktionen auch die Auslassungspunkte ( ... ) rechts neben den Einträgen auswählen, um Aktionen auszuführen.
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.