Azure HDInsight-clusters aanpassen met behulp van script actiesCustomize Azure HDInsight clusters by using script actions

Azure HDInsight biedt een configuratie methode met de naam script acties waarmee aangepaste scripts worden aangeroepen om het cluster aan te passen.Azure HDInsight provides a configuration method called script actions that invokes custom scripts to customize the cluster. Deze scripts worden gebruikt voor het installeren van extra onderdelen en het wijzigen van configuratie-instellingen.These scripts are used to install additional components and change configuration settings. Script acties kunnen worden gebruikt tijdens of na het maken van het cluster.Script actions can be used during or after cluster creation.

Script acties kunnen ook worden gepubliceerd naar Azure Marketplace als een HDInsight-toepassing.Script actions can also be published to the Azure Marketplace as an HDInsight application. Zie een hdinsight-toepassing publiceren in azure Marketplacevoor meer informatie over hdinsight-toepassingen.For more information on HDInsight applications, see Publish an HDInsight application in the Azure Marketplace.

MachtigingenPermissions

Voor een HDInsight-cluster dat is gekoppeld aan een domein, zijn er twee Apache Ambari-machtigingen vereist wanneer u script acties gebruikt met het cluster:For a domain-joined HDInsight cluster, there are two Apache Ambari permissions that are required when you use script actions with the cluster:

  • AMBARI. VOER @ NO__T-1CUSTOM @ NO__T-2COMMAND UIT.AMBARI.RUN_CUSTOM_COMMAND. De Ambari-beheerdersrol heeft deze machtiging standaard.The Ambari Administrator role has this permission by default.
  • CLUSTER. VOER @ NO__T-1CUSTOM @ NO__T-2COMMAND UIT.CLUSTER.RUN_CUSTOM_COMMAND. Zowel de beheerder van het HDInsight-cluster als de Ambari-beheerder hebben standaard deze machtiging.Both the HDInsight Cluster Administrator and Ambari Administrator have this permission by default.

Zie hdinsight-clusters beheren met Enterprise Security Packagevoor meer informatie over het werken met machtigingen met hdinsight die lid zijn van een domein.For more information on working with permissions with domain-joined HDInsight, see Manage HDInsight clusters with Enterprise Security Package.

ToegangsbeheerAccess control

Als u niet de beheerder of eigenaar van uw Azure-abonnement bent, moet uw account ten minste de Inzender toegang hebben tot de resource groep die het HDInsight-cluster bevat.If you aren't the administrator or owner of your Azure subscription, your account must have at least Contributor access to the resource group that contains the HDInsight cluster.

Als u een HDInsight-cluster maakt, moet iemand met ten minste de Inzender toegang tot het Azure-abonnement eerder de provider voor HDInsight hebben geregistreerd.If you create an HDInsight cluster, someone with at least Contributor access to the Azure subscription must have previously registered the provider for HDInsight. Registratie van een provider vindt plaats wanneer een gebruiker met toegang tot het abonnement op het niveau van Inzender, voor het eerst een resource maakt onder het abonnement.Provider registration happens when a user with Contributor access to the subscription creates a resource for the first time on the subscription. U kunt dit ook doen zonder een resource te maken als u een provider registreert met behulp van rest.It can also be done without creating a resource if you register a provider by using REST.

Meer informatie over het werken met toegangs beheer:Get more information on working with access management:

Script acties begrijpenUnderstand script actions

Een script actie is een bash script dat wordt uitgevoerd op de knoop punten in een HDInsight-cluster.A script action is Bash script that runs on the nodes in an HDInsight cluster. Kenmerken en functies van script acties zijn als volgt:Characteristics and features of script actions are as follows:

  • Moet worden opgeslagen op een URI die toegankelijk is vanuit het HDInsight-cluster.Must be stored on a URI that's accessible from the HDInsight cluster. De volgende opslag locaties zijn mogelijk:The following are possible storage locations:

    • Voor reguliere clusters:For regular clusters:

      • ADLS Gen1: De Service-Principal HDInsight gebruikt om toegang te krijgen tot Data Lake Storage moet lees toegang hebben tot het script.ADLS Gen1: The service principal HDInsight uses to access Data Lake Storage must have read access to the script. De URI-indeling voor scripts die zijn opgeslagen in Data Lake Storage Gen1 is adl://DATALAKESTOREACCOUNTNAME.azuredatalakestore.net/path_to_file.The URI format for scripts stored in Data Lake Storage Gen1 is adl://DATALAKESTOREACCOUNTNAME.azuredatalakestore.net/path_to_file.

      • Een BLOB in een Azure Storage-account dat ofwel het primaire of extra opslag account voor het HDInsight-cluster is.A blob in an Azure Storage account that's either the primary or additional storage account for the HDInsight cluster. Bij het maken van het cluster wordt aan HDInsight toegang verleend tot beide typen opslag accounts.HDInsight is granted access to both of these types of storage accounts during cluster creation.

        Belangrijk

        Roteer de opslag sleutel niet op dit Azure Storage account, omdat dit ertoe leidt dat volgende script acties worden uitgevoerd met scripts die daar zijn opgeslagen.Do not rotate the storage key on this Azure Storage account, as it will cause subsequent script actions with scripts stored there to fail.

      • Een open bare service voor het delen van bestanden via http://-paden.A public file-sharing service accessible through http:// paths. Voor beelden zijn Azure Blob, GitHub, OneDrive.Examples are Azure Blob, GitHub, OneDrive.

        Zie voorbeeld script actie scriptsvoor voor beelden van uri's.For example URIs, see Example script action scripts.

    • Voor clusters met ESP:For clusters with ESP:

      • De wasb://of wasbs://of http [s]://Uri's worden ondersteund.The wasb:// or wasbs:// or http[s]:// URIs are supported.
  • Kan alleen worden uitgevoerd op bepaalde knooppunt typen.Can be restricted to run on only certain node types. Voor beelden zijn hoofd knooppunten of worker-knoop punten.Examples are head nodes or worker nodes.

  • Kan persistent of ad hoc zijn.Can be persisted or ad hoc.

    Persistente scripts worden gebruikt om nieuwe worker-knoop punten die aan het cluster worden toegevoegd, aan te passen via schaal bewerkingen.Persisted scripts are used to customize new worker nodes added to the cluster through scaling operations. Een persistent script kan ook wijzigingen Toep assen op een ander type knoop punt wanneer er schaal bewerkingen worden uitgevoerd.A persisted script might also apply changes to another node type when scaling operations occur. Een voor beeld is een hoofd knooppunt.An example is a head node.

    Belangrijk

    Persistente script acties moeten een unieke naam hebben.Persisted script actions must have a unique name.

    Ad-hoc scripts zijn niet persistent.Ad hoc scripts aren't persisted. Ze worden niet toegepast op worker-knoop punten die zijn toegevoegd aan het cluster nadat het script is uitgevoerd.They aren't applied to worker nodes added to the cluster after the script has run. Vervolgens kunt u een ad-hoc script promo veren naar een persistent script of een persistent script naar een ad-hoc script verlagen.Then you can promote an ad hoc script to a persisted script or demote a persisted script to an ad hoc script.

    Belangrijk

    Script acties die worden gebruikt tijdens het maken van het cluster, worden automatisch bewaard.Script actions used during cluster creation are automatically persisted.

    Scripts die niet worden bewaard, zelfs niet als u er specifiek voor hebt aangegeven dat ze moeten zijn.Scripts that fail aren't persisted, even if you specifically indicate that they should be.

  • Kan para meters accepteren die door het script worden gebruikt tijdens de uitvoering.Can accept parameters that are used by the script during execution.

  • Uitvoeren met bevoegdheden op hoofd niveau op de cluster knooppunten.Run with root-level privileges on the cluster nodes.

  • Kan worden gebruikt via de Azure Portal, Azure PowerShell, de klassieke Azure-CLI of de HDInsight .NET SDK.Can be used through the Azure portal, Azure PowerShell, the Azure classic CLI, or the HDInsight .NET SDK.

Het cluster houdt een geschiedenis bij van alle scripts die zijn uitgevoerd.The cluster keeps a history of all scripts that have been run. De geschiedenis helpt u bij het vinden van de ID van een script voor promotie-of degradatie bewerkingen.The history helps when you need to find the ID of a script for promotion or demotion operations.

Belangrijk

Er is geen automatische manier om de wijzigingen die door een script actie zijn aangebracht, ongedaan te maken.There's no automatic way to undo the changes made by a script action. U kunt de wijzigingen hand matig ongedaan maken of een script opgeven waarmee ze worden teruggedraaid.Either manually reverse the changes or provide a script that reverses them.

Script actie in het proces voor het maken van het clusterScript action in the cluster creation process

Script acties die worden gebruikt tijdens het maken van een cluster, zijn iets anders dan script acties die worden uitgevoerd op een bestaand cluster:Script actions used during cluster creation are slightly different from script actions run on an existing cluster:

  • Het script wordt automatisch persistent gemaakt.The script is automatically persisted.

  • Een fout in het script kan ertoe leiden dat het proces voor het maken van een cluster mislukt.A failure in the script can cause the cluster creation process to fail.

Het volgende diagram illustreert wanneer de script actie wordt uitgevoerd tijdens het maken van het proces:The following diagram illustrates when script action runs during the creation process:

Aanpassing en fasen van HDInsight-cluster tijdens het maken van het clusterHDInsight cluster customization and stages during cluster creation

Het script wordt uitgevoerd terwijl HDInsight wordt geconfigureerd.The script runs while HDInsight is being configured. Het script wordt parallel uitgevoerd op alle opgegeven knoop punten in het cluster.The script runs in parallel on all the specified nodes in the cluster. Het wordt uitgevoerd met hoofd bevoegdheden op de knoop punten.It runs with root privileges on the nodes.

Notitie

U kunt bewerkingen uitvoeren zoals het stoppen en starten van services, met inbegrip van Apache Hadoop-gerelateerde services.You can perform operations like stopping and starting services, including Apache Hadoop-related services. Als u services stopt, moet u ervoor zorgen dat de Ambari-service en andere Hadoop-gerelateerde services worden uitgevoerd voordat het script is voltooid.If you stop services, make sure that the Ambari service and other Hadoop-related services are running before the script finishes. Deze services zijn vereist om de status en status van het cluster tijdens het maken te bepalen.These services are required to successfully determine the health and state of the cluster while it's being created.

Tijdens het maken van het cluster kunt u veel script acties tegelijk gebruiken.During cluster creation, you can use many script actions at once. Deze scripts worden aangeroepen in de volg orde waarin ze zijn opgegeven.These scripts are invoked in the order in which they were specified.

Belangrijk

Script acties moeten binnen 60 minuten worden voltooid of er is een time-out opgestaan. Tijdens het inrichten van het cluster wordt het script gelijktijdig uitgevoerd met andere installatie-en configuratie processen.Script actions must finish within 60 minutes, or they time out. During cluster provisioning, the script runs concurrently with other setup and configuration processes. Concurrentie voor bronnen, zoals CPU-tijd of netwerk bandbreedte, kan ertoe leiden dat het script langer duurt dan in uw ontwikkel omgeving is voltooid.Competition for resources such as CPU time or network bandwidth might cause the script to take longer to finish than it does in your development environment.

Voor het minimaliseren van de tijd die nodig is om het script uit te voeren, vermijdt u taken zoals het downloaden en compileren van toepassingen vanuit de bron.To minimize the time it takes to run the script, avoid tasks like downloading and compiling applications from the source. Toepassingen precompileren en de binaire bestanden opslaan in Azure Storage.Precompile applications and store the binary in Azure Storage.

Script actie op een actief clusterScript action on a running cluster

Als er een fout optreedt in een script dat wordt uitgevoerd op een cluster dat al wordt uitgevoerd, wordt het cluster niet automatisch gewijzigd in een mislukte status.A failure in a script run on an already running cluster doesn't automatically cause the cluster to change to a failed state. Nadat het script is voltooid, moet het cluster terugkeren naar een actieve status.After a script finishes, the cluster should return to a running state.

Belangrijk

Zelfs als het cluster een actieve status heeft, heeft het mislukte script mogelijk items gebroken.Even if the cluster has a running state, the failed script might have broken things. Een script kan bijvoorbeeld bestanden verwijderen die nodig zijn voor het cluster.For example, a script might delete files needed by the cluster.

Scripts acties worden uitgevoerd met hoofd bevoegdheden.Scripts actions run with root privileges. Zorg ervoor dat u begrijpt wat een script doet voordat u het toepast op uw cluster.Make sure that you understand what a script does before you apply it to your cluster.

Wanneer u een script toepast op een cluster, wordt de status van het cluster gewijzigd van actief in geaccepteerd.When you apply a script to a cluster, the cluster state changes from Running to Accepted. Vervolgens wordt de HDInsight-configuratie gewijzigd en, ten slotte, opnieuw voor het uitvoeren van geslaagde scripts.Then it changes to HDInsight configuration and, finally, back to Running for successful scripts. De script status wordt vastgelegd in de geschiedenis van de script actie.The script status is logged in the script action history. Deze informatie geeft aan of het script is geslaagd of mislukt.This information tells you whether the script succeeded or failed. De Get-AzHDInsightScriptActionHistory Power shell-cmdlet toont bijvoorbeeld de status van een script.For example, the Get-AzHDInsightScriptActionHistory PowerShell cmdlet shows the status of a script. Het retourneert informatie die lijkt op de volgende tekst:It returns information similar to the following text:

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

Belangrijk

Als u de cluster gebruiker, de beheerder, het wacht woord wijzigt nadat het cluster is gemaakt, kunnen script acties op dit cluster mislukken.If you change the cluster user, admin, password after the cluster is created, script actions run against this cluster might fail. Als u persistente script acties hebt die doel worker-knoop punten hebben, kunnen deze scripts mislukken wanneer u het cluster schaalt.If you have any persisted script actions that target worker nodes, these scripts might fail when you scale the cluster.

Voorbeeld script actie scriptsExample script action scripts

Script actie scripts kunnen worden gebruikt via de volgende hulpprogram ma's:Script action scripts can be used through the following utilities:

  • Azure PortalThe Azure portal
  • Azure PowerShellAzure PowerShell
  • De klassieke Azure-CLIThe Azure classic CLI
  • An HDInsight .NET SDKAn HDInsight .NET SDK

HDInsight biedt scripts voor het installeren van de volgende onderdelen op HDInsight-clusters:HDInsight provides scripts to install the following components on HDInsight clusters:

NameName ScriptScript
Een Azure Storage-account toevoegenAdd an Azure Storage account https://hdiconfigactions.blob.core.windows.net/linuxaddstorageaccountv01/add-storage-account-v01.sh.https://hdiconfigactions.blob.core.windows.net/linuxaddstorageaccountv01/add-storage-account-v01.sh. Zie extra opslag accounts toevoegen aan HDInsight.See Add additional storage accounts to HDInsight.
Hue installerenInstall Hue https://hdiconfigactions.blob.core.windows.net/linuxhueconfigactionv02/install-hue-uber-v02.sh.https://hdiconfigactions.blob.core.windows.net/linuxhueconfigactionv02/install-hue-uber-v02.sh. Zie kleur Toon installeren en gebruiken op HDInsight Hadoop-clusters.See Install and use Hue on HDInsight Hadoop clusters.
Giraph installerenInstall Giraph https://hdiconfigactions.blob.core.windows.net/linuxgiraphconfigactionv01/giraph-installer-v01.sh.https://hdiconfigactions.blob.core.windows.net/linuxgiraphconfigactionv01/giraph-installer-v01.sh. Zie Apache Giraph installeren op HDInsight Hadoop-clusters.See Install Apache Giraph on HDInsight Hadoop clusters.
Hive-bibliotheken vooraf ladenPreload Hive libraries https://hdiconfigactions.blob.core.windows.net/linuxsetupcustomhivelibsv01/setup-customhivelibs-v01.sh.https://hdiconfigactions.blob.core.windows.net/linuxsetupcustomhivelibsv01/setup-customhivelibs-v01.sh. Zie aangepaste Apache Hive bibliotheken toevoegen bij het maken van uw HDInsight-cluster.See Add custom Apache Hive libraries when creating your HDInsight cluster.

Een script actie gebruiken tijdens het maken van een clusterUse a script action during cluster creation

In deze sectie worden de verschillende manieren beschreven waarop u script acties kunt gebruiken wanneer u een HDInsight-cluster maakt.This section explains the different ways you can use script actions when you create an HDInsight cluster.

Een script actie gebruiken tijdens het maken van het cluster vanuit het Azure PortalUse a script action during cluster creation from the Azure portal

  1. Begin met het maken van een cluster zoals beschreven in op Linux gebaseerde clusters in HDInsight maken met behulp van de Azure Portal.Start to create a cluster as described in Create Linux-based clusters in HDInsight by using the Azure portal. Tijdens het maken van het cluster arriveert u bij stap 6, script acties.During cluster creation, you arrive at step 6, Script actions. Navigeer naar optionele > + nieuwe verzenden.Navigate to Optional > + Submit new.

    Script actie voor Azure Portal cluster

  2. Gebruik het script item selecteren om een vooraf gemaakt script te selecteren.Use the Select a script entry to select a premade script. Als u een aangepast script wilt gebruiken, selecteert u aangepast.To use a custom script, select Custom. Geef vervolgens de naam en de bash-script-URI voor uw script op.Then provide the Name and Bash script URI for your script.

    Een script toevoegen in het formulier Select script

    De volgende tabel beschrijft de elementen op het formulier:The following table describes the elements on the form:

    EigenschapProperty ValueValue
    Een script selecterenSelect a script Selecteer __aangepast__om uw eigen script te gebruiken.To use your own script, select Custom. Anders selecteert u een van de meegeleverde scripts.Otherwise, select one of the provided scripts.
    NameName Geef een naam op voor de script actie.Specify a name for the script action.
    Bash-script-URIBash script URI Geef de URI van het script op.Specify the URI of the script.
    Hoofd/werk-ZooKeeperHead/Worker/ZooKeeper Geef de knoop punten op waarop het script wordt uitgevoerd: Head, workerof ZooKeeper.Specify the nodes on which the script is run: Head, Worker, or ZooKeeper.
    ParametersParameters Geef de para meters op, indien vereist door het script.Specify the parameters, if required by the script.

    Gebruik de vermelding Deze script actie persistent maken om ervoor te zorgen dat het script wordt toegepast tijdens schaal bewerkingen.Use the Persist this script action entry to make sure that the script is applied during scaling operations.

  3. Selecteer maken om het script op te slaan.Select Create to save the script. Vervolgens kunt u + Nieuw gebruiken om een ander script toe te voegen.Then you can use + Submit new to add another script.

    Meervoudige HDInsight-script acties

    Wanneer u klaar bent met het toevoegen van scripts, selecteert u de knop selecteren en vervolgens de knop volgende om door te gaan naar de sectie cluster samenvatting .When you're done adding scripts, select the Select button and then the Next button to continue to the Cluster summary section.

  4. Als u het cluster wilt maken, selecteert u maken op basis van de selectie van de cluster samenvatting .To create the cluster, select Create from the Cluster summary selection.

Een script actie uit Azure Resource Manager sjablonen gebruikenUse a script action from Azure Resource Manager templates

Script acties kunnen worden gebruikt met Azure Resource Manager sjablonen.Script actions can be used with Azure Resource Manager templates. Zie voor beeld een HDInsight Linux-cluster maken en een script actie uitvoeren.For an example, see Create HDInsight Linux Cluster and run a script action.

In dit voor beeld wordt de script actie toegevoegd met behulp van de volgende code:In this example, the script action is added by using the following code:

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

Meer informatie over het implementeren van een sjabloon:Get more information on how to deploy a template:

Een script actie gebruiken tijdens het maken van het cluster van Azure PowerShellUse a script action during cluster creation from Azure PowerShell

In deze sectie gebruikt u de cmdlet add-AzHDInsightScriptAction om scripts aan te roepen om een cluster aan te passen.In this section, you use the Add-AzHDInsightScriptAction cmdlet to invoke scripts to customize a cluster. Voordat u begint, moet u ervoor zorgen dat u Azure PowerShell installeert en configureert.Before you start, make sure you install and configure Azure PowerShell. Als u deze Power shell-opdrachten wilt gebruiken, hebt u de AZ-modulenodig.To use these PowerShell commands, you need the AZ Module.

Notitie

Dit artikel is bijgewerkt voor het gebruik van de nieuwe Azure PowerShell Az-module.This article has been updated to use the new Azure PowerShell Az module. De AzureRM-module kan nog worden gebruikt en krijgt bugoplossingen tot ten minste december 2020.You can still use the AzureRM module, which will continue to receive bug fixes until at least December 2020. Zie voor meer informatie over de nieuwe Az-module en compatibiliteit met AzureRM Introductie van de nieuwe Az-module van Azure PowerShell.To learn more about the new Az module and AzureRM compatibility, see Introducing the new Azure PowerShell Az module. Raadpleeg Azure PowerShell installeren voor instructies over de installatie van de Az-module.For Az module installation instructions, see Install Azure PowerShell.

Het volgende script laat zien hoe u een script actie toepast wanneer u een cluster maakt met behulp van Power shell:The following script shows how to apply a script action when you create a cluster by using 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

Het kan enkele minuten duren voordat het cluster is gemaakt.It can take several minutes before the cluster is created.

Een script actie gebruiken tijdens het maken van het cluster vanuit de HDInsight .NET SDKUse a script action during cluster creation from the HDInsight .NET SDK

De HDInsight .NET SDK bevat client bibliotheken waarmee u gemakkelijker kunt werken met HDInsight vanuit een .NET-toepassing.The HDInsight .NET SDK provides client libraries that make it easier to work with HDInsight from a .NET application. Zie voor een code voorbeeld Linux-clusters maken in HDInsight met behulp van de .NET SDK.For a code sample, see Create Linux-based clusters in HDInsight by using the .NET SDK.

Een script actie Toep assen op een actief clusterApply a script action to a running cluster

In deze sectie wordt uitgelegd hoe u script acties toepast op een actief cluster.This section explains how to apply script actions to a running cluster.

Een script actie Toep assen op een actief cluster vanuit de Azure PortalApply a script action to a running cluster from the Azure portal

Ga naar de Azure Portal:Go to the Azure portal:

  1. Ga in het menu links naar alle services > Analytics- > HDInsight-clusters.From the left menu, navigate to All services > Analytics > HDInsight clusters.

  2. Selecteer uw cluster in de lijst. Hiermee wordt de standaard weergave geopend.Select your cluster from the list, which opens the default view.

  3. Selecteer in de standaard weergave onder instellingende optie script acties.From the default view, under Settings, select Script actions.

  4. Selecteer boven aan de pagina script acties + Nieuw verzenden.From the top of the Script actions page, select + Submit new.

    Een script toevoegen aan een actief cluster

  5. Gebruik het script item selecteren om een vooraf gemaakt script te selecteren.Use the Select a script entry to select a premade script. Als u een aangepast script wilt gebruiken, selecteert u aangepast.To use a custom script, select Custom. Geef vervolgens de naam en de bash-script-URI voor uw script op.Then provide the Name and Bash script URI for your script.

    Een script toevoegen in het formulier Select script

    De volgende tabel beschrijft de elementen op het formulier:The following table describes the elements on the form:

    EigenschapProperty ValueValue
    Een script selecterenSelect a script Selecteer __aangepast__om uw eigen script te gebruiken.To use your own script, select custom. Als dat niet het geval is, selecteert u een gegeven script.Otherwise, select a provided script.
    NameName Geef een naam op voor de script actie.Specify a name for the script action.
    Bash-script-URIBash script URI Geef de URI van het script op.Specify the URI of the script.
    Hoofd/werk-ZookeeperHead/Worker/Zookeeper Geef de knoop punten op waarop het script wordt uitgevoerd: Head, workerof ZooKeeper.Specify the nodes on which the script is run: Head, Worker, or ZooKeeper.
    ParametersParameters Geef de para meters op, indien vereist door het script.Specify the parameters, if required by the script.

    Gebruik de vermelding Deze script actie persistent om te controleren of het script wordt toegepast tijdens schaal bewerkingen.Use the Persist this script action entry to make sure the script is applied during scaling operations.

  6. Selecteer tot slot de knop maken om het script toe te passen op het cluster.Finally, select the Create button to apply the script to the cluster.

Een script actie Toep assen op een actief cluster vanaf Azure PowerShellApply a script action to a running cluster from Azure PowerShell

Als u deze Power shell-opdrachten wilt gebruiken, hebt u de AZ-modulenodig.To use these PowerShell commands, you need the AZ Module.

In het volgende voor beeld ziet u hoe u een script actie toepast op een actief cluster:The following example shows how to apply a script action to a running cluster:

# 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

Nadat de bewerking is voltooid, ontvangt u informatie die lijkt op de volgende tekst:After the operation finishes, you receive information similar to the following text:

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

Een script actie Toep assen op een actief cluster vanuit de Azure CLIApply a script action to a running cluster from the Azure CLI

Voordat u begint, moet u ervoor zorgen dat u de Azure CLI installeert en configureert.Before you start, make sure you install and configure the Azure CLI. Zie de klassieke Azure-cli installerenvoor meer informatie.For more information, see Install the Azure classic CLI.

Belangrijk

In dit artikel bevat inhoud die de klassieke Azure CLI vereist.This article contains content that requires the Azure classic CLI. De huidige release van de Azure CLI geen ondersteuning voor de functies die worden beschreven in dit artikel, zodat de klassieke CLI vereist is.The current release of the Azure CLI doesn't have support for the features outlined in this article, so the classic CLI is required.

De klassieke CLI kan worden geïnstalleerd naast de moderne Azure-CLI, maar we raden aan de Azure CLI voor alle nieuwe scripts en implementaties.The classic CLI can be installed side by side with the modern Azure CLI, but we recommend the Azure CLI for all new scripts and deployments. Zie voor het installeren van de klassieke CLI de klassieke Azure-CLI installeren.To install the classic CLI, see Install the Azure classic CLI. Zie voor het installeren van de meest recente versie van de CLI, Azure CLI installeren.To install the latest version of the CLI, see Install the Azure CLI.

  1. Overschakelen naar Azure Resource Manager modus:Switch to Azure Resource Manager mode:

    azure config mode arm
    
  2. Verifiëren bij uw Azure-abonnement:Authenticate to your Azure subscription:

    azure login
    
  3. Een script actie Toep assen op een actief cluster:Apply a script action to a running cluster:

    azure hdinsight script-action create <clustername> -g <resourcegroupname> -n <scriptname> -u <scriptURI> -t <nodetypes>
    

    Als u para meters voor deze opdracht weglaat, wordt u gevraagd.If you omit parameters for this command, you're prompted for them. Als het script dat u opgeeft met -u para meters accepteert, kunt u deze opgeven met behulp van de para meter -p.If the script you specify with -u accepts parameters, you can specify them by using the -p parameter.

    Geldige knooppunt typen zijn headnode, workernode en zookeeper.Valid node types are headnode, workernode, and zookeeper. Als het script moet worden toegepast op verschillende knooppunt typen, geeft u de typen op, gescheiden door een punt komma ;.If the script should be applied to several node types, specify the types separated by a semicolon ;. Bijvoorbeeld -n headnode;workernode.For example, -n headnode;workernode.

    Als u het script wilt behouden, voegt u --persistOnSuccess toe.To persist the script, add --persistOnSuccess. U kunt het script ook later persistent maken met behulp van azure hdinsight script-action persisted set.You can also persist the script later by using azure hdinsight script-action persisted set.

    Nadat de taak is voltooid, krijgt u uitvoer zoals de volgende tekst:After the job finishes, you get output like the following text:

     info:    Executing command hdinsight script-action create
     + Executing Script Action on HDInsight cluster
     data:    Operation Info
     data:    ---------------
     data:    Operation status:
     data:    Operation ID:  b707b10e-e633-45c0-baa9-8aed3d348c13
     info:    hdinsight script-action create command OK
    

Een script actie Toep assen op een actief cluster met behulp van REST APIApply a script action to a running cluster by using REST API

Zie Cluster rest API in azure HDInsight.See Cluster REST API in Azure HDInsight.

Een script actie Toep assen op een actief cluster vanuit de HDInsight .NET SDKApply a script action to a running cluster from the HDInsight .NET SDK

Zie een script actie Toep assen op een op Linux gebaseerd HDInsight-clustervoor een voor beeld van het gebruik van de .NET SDK om scripts toe te passen op een cluster.For an example of using the .NET SDK to apply scripts to a cluster, see Apply a Script Action against a running Linux-based HDInsight cluster.

De geschiedenis bekijken en script acties promo veren en verlagenView history and promote and demote script actions

Azure PortalThe Azure portal

  1. Meld u aan bij Azure Portal.Sign in to the Azure portal.

  2. Ga in het menu links naar alle services > Analytics- > HDInsight-clusters.From the left menu, navigate to All services > Analytics > HDInsight clusters.

  3. Selecteer uw cluster in de lijst. Hiermee wordt de standaard weergave geopend.Select your cluster from the list, which opens the default view.

  4. Selecteer in de standaard weergave onder instellingende optie script acties.From the default view, under Settings, select Script actions.

  5. Een geschiedenis van scripts voor dit cluster wordt weer gegeven in de sectie script acties.A history of scripts for this cluster displays on the script actions section. Deze informatie bevat een lijst met persistente scripts.This information includes a list of persisted scripts. In de volgende scherm afbeelding ziet u dat het script solr is uitgevoerd op dit cluster.The following screenshot shows that the Solr script has been run on this cluster. In de scherm afbeelding worden geen persistente scripts weer gegeven.The screenshot doesn't show any persisted scripts.

    Overzicht van acties voor portal script

  6. Selecteer een script in de geschiedenis om de sectie Eigenschappen voor dit script weer te geven.Select a script from the history to display the Properties section for this script. Vanaf de bovenkant van het scherm kunt u het script opnieuw uitvoeren of het niveau verhogen.From the top of the screen, you can rerun the script or promote it.

    Eigenschappen van script acties niveau verhogen

  7. U kunt ook het weglatings teken, ... , rechts van de vermeldingen in de sectie script acties selecteren om acties uit te voeren.You can also select the ellipsis, ..., to the right of entries on the script actions section to perform actions.

    Persistente script acties verwijderen

Azure PowerShellAzure PowerShell

cmdletcmdlet FunctionFunction
Get-AzHDInsightPersistedScriptAction Informatie over persistente script acties ophalen.Retrieve information on persisted script actions.
Get-AzHDInsightScriptActionHistory Een geschiedenis ophalen van script acties die zijn toegepast op het cluster of Details voor een specifiek script.Retrieve a history of script actions applied to the cluster or details for a specific script.
Set-AzHDInsightPersistedScriptAction Bevorder een ad-hoc script actie naar een persistente script actie.Promote an ad hoc script action to a persisted script action.
Remove-AzHDInsightPersistedScriptAction Het niveau van een persistente script actie verlagen naar een ad hoc actie.Demote a persisted script action to an ad hoc action.

Belangrijk

met Remove-AzHDInsightPersistedScriptAction worden de acties die door een script worden uitgevoerd, niet ongedaan gemaakt.Remove-AzHDInsightPersistedScriptAction doesn't undo the actions performed by a script. Met deze cmdlet wordt alleen de persistente vlag verwijderd.This cmdlet only removes the persisted flag.

In het volgende voorbeeld script ziet u hoe u de-cmdlets gebruikt om een script te promoten en vervolgens te degraderen.The following example script demonstrates using the cmdlets to promote and then demote a script.

# 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"

De klassieke Azure-CLIThe Azure classic CLI

cmdletcmdlet FunctionFunction
azure hdinsight script-action persisted list <clustername> Een lijst met persistente script acties ophalen.Retrieve a list of persisted script actions.
azure hdinsight script-action persisted show <clustername> <scriptname> Gegevens ophalen voor een specifieke persistente script actie.Retrieve information on a specific persisted script action.
azure hdinsight script-action history list <clustername> Een geschiedenis ophalen van script acties die zijn toegepast op het cluster.Retrieve a history of script actions applied to the cluster.
azure hdinsight script-action history show <clustername> <scriptname> Gegevens ophalen voor een specifieke script actie.Retrieve information on a specific script action.
azure hdinsight script action persisted set <clustername> <scriptexecutionid> Bevorder een ad-hoc script actie naar een persistente script actie.Promote an ad hoc script action to a persisted script action.
azure hdinsight script-action persisted delete <clustername> <scriptname> Het niveau van een persistente script actie verlagen naar een ad hoc actie.Demote a persisted script action to an ad hoc action.

Belangrijk

met azure hdinsight script-action persisted delete worden de acties die door een script worden uitgevoerd, niet ongedaan gemaakt.azure hdinsight script-action persisted delete doesn't undo the actions performed by a script. Met deze cmdlet wordt alleen de persistente vlag verwijderd.This cmdlet only removes the persisted flag.

De HDInsight .NET SDKThe HDInsight .NET SDK

Zie een script actie Toep assen op een op Linux gebaseerd HDInsight-clustervoor een voor beeld van het gebruik van de .NET SDK voor het ophalen van de script geschiedenis van een cluster, het promo veren of verlagen van scripts.For an example of using the .NET SDK to retrieve script history from a cluster, promote or demote scripts, see Apply a Script Action against a running Linux-based HDInsight cluster.

Notitie

In dit voor beeld wordt ook gedemonstreerd hoe u een HDInsight-toepassing installeert met behulp van de .NET-SDK.This example also demonstrates how to install an HDInsight application by using the .NET SDK.

Ondersteuning voor open-source software die wordt gebruikt in HDInsight-clustersSupport for open-source software used on HDInsight clusters

De Microsoft Azure HDInsight-service gebruikt een ecosysteem van open-source technologieën die zijn gevormd rond Apache Hadoop.The Microsoft Azure HDInsight service uses an ecosystem of open-source technologies formed around Apache Hadoop. Microsoft Azure biedt een algemeen ondersteunings niveau voor open-source technologieën.Microsoft Azure provides a general level of support for open-source technologies. Zie de sectie support Scope van Veelgestelde vragen over ondersteuning van Azurevoor meer informatie.For more information, see the Support Scope section of Azure Support FAQs. De HDInsight-service biedt een extra ondersteunings niveau voor ingebouwde componenten.The HDInsight service provides an additional level of support for built-in components.

Er zijn twee typen open source-onderdelen beschikbaar in de HDInsight-service:Two types of open-source components are available in the HDInsight service:

Waarschuwing

Onderdelen die worden meegeleverd met het HDInsight-cluster, worden volledig ondersteund.Components provided with the HDInsight cluster are fully supported. Microsoft Ondersteuning helpt bij het isoleren en oplossen van problemen met betrekking tot deze onderdelen.Microsoft Support helps to isolate and resolve issues related to these components.

Aangepaste onderdelen ontvangen commercieel redelijke ondersteuning om u te helpen het probleem verder op te lossen.Custom components receive commercially reasonable support to help you further troubleshoot the issue. Microsoft Ondersteuning kunt het probleem mogelijk oplossen.Microsoft Support might be able to resolve the issue. Het kan ook zijn dat u beschik bare kanalen moet betrekken voor de open source technologieën waar diep gaande expertise voor die technologie wordt gevonden.Or they might ask you to engage available channels for the open-source technologies where deep expertise for that technology is found. Veel community-sites kunnen worden gebruikt.Many community sites can be used. Voor beelden zijn MSDN-forum voor HDInsight en stack overflow.Examples are MSDN forum for HDInsight and Stack Overflow.

Apache-projecten hebben ook project sites op de Apache-website.Apache projects also have project sites on the Apache website. Een voor beeld is Hadoop.An example is Hadoop.

De HDInsight-service biedt verschillende manieren om aangepaste onderdelen te gebruiken.The HDInsight service provides several ways to use custom components. Hetzelfde ondersteunings niveau geldt, ongeacht hoe een onderdeel wordt gebruikt of geïnstalleerd op het cluster.The same level of support applies, no matter how a component is used or installed on the cluster. In de volgende lijst worden de meest voorkomende manieren beschreven waarop aangepaste onderdelen worden gebruikt in HDInsight-clusters:The following list describes the most common ways that custom components are used on HDInsight clusters:

  1. Taak wordt verzonden.Job submission. Hadoop of andere typen taken die aangepaste onderdelen uitvoeren of gebruiken, kunnen worden verzonden naar het cluster.Hadoop or other types of jobs that execute or use custom components can be submitted to the cluster.

  2. Aanpassingvan het cluster.Cluster customization. Tijdens het maken van het cluster kunt u aanvullende instellingen en aangepaste onderdelen opgeven die op de cluster knooppunten zijn geïnstalleerd.During cluster creation, you can specify additional settings and custom components that are installed on the cluster nodes.

  3. Voor beelden.Samples. Voor populaire aangepaste onderdelen kunnen micro soft en andere voor beelden bieden van hoe deze onderdelen kunnen worden gebruikt in HDInsight-clusters.For popular custom components, Microsoft and others might provide samples of how these components can be used on HDInsight clusters. Deze voor beelden worden zonder ondersteuning geboden.These samples are provided without support.

Problemen oplossenTroubleshooting

U kunt de Ambari-web-gebruikers interface gebruiken om informatie te bekijken die is vastgelegd door script acties.You can use the Ambari web UI to view information logged by script actions. Als het script mislukt tijdens het maken van het cluster, zijn de logboeken ook beschikbaar in het standaard opslag account dat aan het cluster is gekoppeld.If the script fails during cluster creation, the logs are also available in the default storage account associated with the cluster. Deze sectie bevat informatie over het ophalen van de logboeken met behulp van beide opties.This section provides information on how to retrieve the logs by using both these options.

De Apache Ambari-webgebruikersinterfaceThe Apache Ambari web UI

  1. Ga in uw browser naar https://CLUSTERNAME.azurehdinsight.net.In your browser, go to https://CLUSTERNAME.azurehdinsight.net. Vervang CLUSTERNAME door de naam van uw HDInsight-cluster.Replace CLUSTERNAME with the name of your HDInsight cluster.

    Wanneer u hierom wordt gevraagd, voert u de account naam, de beheerderen het wacht woord voor het cluster in.When prompted, enter the admin account name, admin, and password for the cluster. Mogelijk moet u de beheerders referenties opnieuw invoeren in een webformulier.You might have to reenter the admin credentials in a web form.

  2. Selecteer de OPS -vermelding in de balk boven aan de pagina.From the bar at the top of the page, select the ops entry. Er wordt een lijst weer gegeven met de huidige en vorige bewerkingen die op het cluster zijn uitgevoerd via Ambari.A list displays current and previous operations done on the cluster through Ambari.

    Ambari Web UI-balk met OPS geselecteerd

  3. Zoek de vermeldingen met de uitvoering van @ no__t-1customscriptaction in de kolom bewerkingen .Find the entries that have run_customscriptaction in the Operations column. Deze vermeldingen worden gemaakt wanneer de script acties worden uitgevoerd.These entries are created when the script actions run.

    Acties voor Apache Ambari-script actie

    Als u de stdout -en stderr -uitvoer wilt weer geven, selecteert u de vermelding run\customscriptaction en zoomt u in op de koppelingen.To view the STDOUT and STDERR output, select the run\customscriptaction entry and drill down through the links. Deze uitvoer wordt gegenereerd wanneer het script wordt uitgevoerd en kan nuttige informatie bevatten.This output is generated when the script runs and might have useful information.

Toegang tot logboeken vanuit het standaard opslag accountAccess logs from the default storage account

Als het maken van een cluster mislukt vanwege een script fout, worden de logboeken bewaard in het cluster-opslag account.If cluster creation fails because of a script error, the logs are kept in the cluster storage account.

  • De opslag logboeken zijn beschikbaar op \STORAGE_ACCOUNT_NAME\DEFAULT_CONTAINER_NAME\custom-scriptaction-logs\CLUSTER_NAME\DATE.The storage logs are available at \STORAGE_ACCOUNT_NAME\DEFAULT_CONTAINER_NAME\custom-scriptaction-logs\CLUSTER_NAME\DATE.

    Script actie logboeken

    In deze map worden de logboeken afzonderlijk geordend voor hoofd knooppunt, worker nodeen Zookeeper node.Under this directory, the logs are organized separately for headnode, worker node, and zookeeper node. Zie de volgende voorbeelden:See the following examples:

    • Hoofd knooppunt: <uniqueidentifier>AmbariDb-hn0-<generated_value>.cloudapp.netHeadnode: <uniqueidentifier>AmbariDb-hn0-<generated_value>.cloudapp.net

    • Worker-knoop punt: <uniqueidentifier>AmbariDb-wn0-<generated_value>.cloudapp.netWorker node: <uniqueidentifier>AmbariDb-wn0-<generated_value>.cloudapp.net

    • Zookeeper-knoop punt: <uniqueidentifier>AmbariDb-zk0-<generated_value>.cloudapp.netZookeeper node: <uniqueidentifier>AmbariDb-zk0-<generated_value>.cloudapp.net

  • Alle stdout en stderr van de bijbehorende host worden geüpload naar het opslag account.All stdout and stderr of the corresponding host is uploaded to the storage account. Er is één uitvoer-@no__t -1. txt en fouten-@no__t -3. txt voor elke script actie.There's one output-*.txt and errors-*.txt for each script action. Het output-*. txt -bestand bevat informatie over de URI van het script dat op de host is uitgevoerd.The output-*.txt file contains information about the URI of the script that was run on the host. De volgende tekst is een voor beeld van deze informatie:The following text is an example of this information:

      'Start downloading script locally: ', u'https://hdiconfigactions.blob.core.windows.net/linuxrconfigactionv01/r-installer-v01.sh'
    
  • Het is mogelijk dat u herhaaldelijk een script actie cluster met dezelfde naam maakt.It's possible that you repeatedly create a script action cluster with the same name. In dat geval kunt u de relevante logboeken onderscheiden op basis van de naam van de map date .In that case, you can distinguish the relevant logs based on the DATE folder name. De mapstructuur voor een cluster, mycluster, die op verschillende datums wordt gemaakt, lijkt bijvoorbeeld op de volgende logboek vermeldingen:For example, the folder structure for a cluster, mycluster, created on different dates appears similar to the following log entries:

    \STORAGE_ACCOUNT_NAME\DEFAULT_CONTAINER_NAME\custom-scriptaction-logs\mycluster\2015-10-04 \STORAGE_ACCOUNT_NAME\DEFAULT_CONTAINER_NAME\custom-scriptaction-logs\mycluster\2015-10-05\STORAGE_ACCOUNT_NAME\DEFAULT_CONTAINER_NAME\custom-scriptaction-logs\mycluster\2015-10-04 \STORAGE_ACCOUNT_NAME\DEFAULT_CONTAINER_NAME\custom-scriptaction-logs\mycluster\2015-10-05

  • Als u een script actie cluster met dezelfde naam op dezelfde dag maakt, kunt u het unieke voor voegsel gebruiken om de relevante logboek bestanden te identificeren.If you create a script action cluster with the same name on the same day, you can use the unique prefix to identify the relevant log files.

  • Als u een cluster maakt in de buurt van 12:00 uur middernacht, is het mogelijk dat de logboek bestanden twee dagen lang zijn.If you create a cluster near 12:00 AM, midnight, it's possible that the log files span across two days. In dat geval ziet u twee verschillende datum mappen voor hetzelfde cluster.In that case, you see two different date folders for the same cluster.

  • Het uploaden van logboek bestanden naar de standaard container kan tot vijf minuten duren, met name voor grote clusters.Uploading log files to the default container can take up to five minutes, especially for large clusters. Als u de logboeken wilt openen, moet u het cluster dus niet onmiddellijk verwijderen als een script actie mislukt.So if you want to access the logs, you shouldn't immediately delete the cluster if a script action fails.

Ambari watchdogAmbari watchdog

Waarschuwing

Wijzig niet het wacht woord voor de Ambari watchdog, hdinsightwatchdog, op uw op Linux gebaseerd HDInsight-cluster.Don't change the password for the Ambari watchdog, hdinsightwatchdog, on your Linux-based HDInsight cluster. Het wijzigen van het wacht woord voor dit account verbreekt de mogelijkheid om nieuwe script acties uit te voeren op het HDInsight-cluster.Changing the password for this account breaks the ability to run new script actions on the HDInsight cluster.

Kan de naam BlobService niet importerenCan't import name BlobService

Symptomen.Symptoms. De script actie mislukt.The script action fails. Tekst die vergelijkbaar is met de volgende fout wordt weer gegeven wanneer u de bewerking in Ambari bekijkt:Text similar to the following error displays when you view the operation in Ambari:

Traceback (most recent call list):
  File "/var/lib/ambari-agent/cache/custom_actions/scripts/run_customscriptaction.py", line 21, in <module>
    from azure.storage.blob import BlobService
ImportError: cannot import name BlobService

Oorzaak.Cause. Deze fout treedt op als u de python Azure Storage-client bijwerkt die is opgenomen in het HDInsight-cluster.This error occurs if you upgrade the Python Azure Storage client that's included with the HDInsight cluster. HDInsight verwacht Azure Storage client 0.20.0.HDInsight expects Azure Storage client 0.20.0.

Oplossing.Resolution. Om deze fout op te lossen, moet u hand matig verbinding maken met elk cluster knooppunt met behulp van ssh.To resolve this error, manually connect to each cluster node by using ssh. Voer de volgende opdracht uit om de juiste Storage-client versie opnieuw te installeren:Run the following command to reinstall the correct storage client version:

sudo pip install azure-storage==0.20.0

Zie verbinding maken met HDInsight (Apache Hadoop) met behulp van SSHvoor informatie over het maken van verbinding met het cluster met SSH.For information on connecting to the cluster with SSH, see Connect to HDInsight (Apache Hadoop) by using SSH.

In de geschiedenis worden geen scripts weer gegeven die worden gebruikt tijdens het maken van het clusterHistory doesn't show the scripts used during cluster creation

Als uw cluster vóór 15 maart 2016 is gemaakt, ziet u mogelijk geen vermelding in de script actie geschiedenis.If your cluster was created before March 15, 2016, you might not see an entry in script action history. Het wijzigen van het formaat van het cluster leidt ertoe dat de scripts worden weer gegeven in de geschiedenis van de script actie.Resizing the cluster causes the scripts to appear in script action history.

Er zijn twee uitzonderingen:There are two exceptions:

  • Uw cluster is gemaakt vóór 1 september 2015.Your cluster was created before September 1, 2015. Deze datum is wanneer script acties zijn geïntroduceerd.This date is when script actions were introduced. Alle clusters die vóór deze datum zijn gemaakt, kunnen geen script acties hebben voor het maken van het cluster.Any cluster created before this date couldn't have used script actions for cluster creation.

  • U hebt meerdere script acties gebruikt tijdens het maken van het cluster.You used multiple script actions during cluster creation. Of u hebt dezelfde naam gebruikt voor meerdere scripts of dezelfde naam, dezelfde URI, maar verschillende para meters voor meerdere scripts.Or you used the same name for multiple scripts or the same name, same URI, but different parameters for multiple scripts. In deze gevallen wordt de volgende fout weer geven:In these cases, you get the following error:

    Er kunnen geen nieuwe script acties op dit cluster worden uitgevoerd, omdat er conflicterende script namen in bestaande scripts zijn.No new script actions can be run on this cluster because of conflicting script names in existing scripts. Script namen die worden meegeleverd tijdens het maken van het cluster, moeten allemaal uniek zijn.Script names provided at cluster creation must be all unique. Bestaande scripts worden uitgevoerd op een andere grootte.Existing scripts are run on resize.

Volgende stappenNext steps