Customize Azure HDInsight clusters by using script actions

Azure HDInsight provides a configuration method called script actions that invokes custom scripts to customize the cluster. These scripts are used to install additional components and change configuration settings. Script actions can be used during or after cluster creation.

Script actions can also be published to the Azure Marketplace as an HDInsight application. For more information on HDInsight applications, see Publish an HDInsight application in the Azure Marketplace.

Permissions

For a domain-joined HDInsight cluster, there are two Apache Ambari permissions that are required when you use script actions with the cluster:

  • AMBARI.RUN_CUSTOM_COMMAND. The Ambari Administrator role has this permission by default.
  • CLUSTER.RUN_CUSTOM_COMMAND. Both the HDInsight Cluster Administrator and Ambari Administrator have this permission by default.

For more information on working with permissions with domain-joined HDInsight, see Manage HDInsight clusters with Enterprise Security Package.

Access control

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.

If you create an HDInsight cluster, someone with at least Contributor access to the Azure subscription must have previously registered the provider for HDInsight. Provider registration happens when a user with Contributor access to the subscription creates a resource for the first time on the subscription. It can also be done without creating a resource if you register a provider by using REST.

Get more information on working with access management:

Understand script actions

A script action is Bash script that runs on the nodes in an HDInsight cluster. Characteristics and features of script actions are as follows:

  • Must be stored on a URI that's accessible from the HDInsight cluster. The following are possible storage locations:

    • For regular clusters:

      • ADLS Gen1: The service principal HDInsight uses to access Data Lake Storage must have read access to the script. The URI format for scripts stored in Data Lake Storage Gen1 is adl://DATALAKESTOREACCOUNTNAME.azuredatalakestore.net/path_to_file.

      • A blob in an Azure Storage account that's either the primary or additional storage account for the HDInsight cluster. HDInsight is granted access to both of these types of storage accounts during cluster creation.

      • A public file-sharing service accessible through http:// paths. Examples are Azure Blob, GitHub, OneDrive.

        For example URIs, see Example script action scripts.

    • For clusters with ESP:

      • The wasb[s]:// or http[s]:// URIs are supported.
  • Can be restricted to run on only certain node types. Examples are head nodes or worker nodes.

  • Can be persisted or ad hoc.

    Persisted scripts are used to customize new worker nodes added to the cluster through scaling operations. A persisted script might also apply changes to another node type when scaling operations occur. An example is a head node.

    Important

    Persisted script actions must have a unique name.

    Ad hoc scripts aren't persisted. They aren't applied to worker nodes added to the cluster after the script has run. Then you can promote an ad hoc script to a persisted script or demote a persisted script to an ad hoc script.

    Important

    Script actions used during cluster creation are automatically persisted.

    Scripts that fail aren't persisted, even if you specifically indicate that they should be.

  • Can accept parameters that are used by the script during execution.

  • Run with root-level privileges on the cluster nodes.

  • Can be used through the Azure portal, Azure PowerShell, the Azure classic CLI, or the HDInsight .NET SDK.

The cluster keeps a history of all scripts that have been run. The history helps when you need to find the ID of a script for promotion or demotion operations.

Important

There's no automatic way to undo the changes made by a script action. Either manually reverse the changes or provide a script that reverses them.

Script action in the cluster creation process

Script actions used during cluster creation are slightly different from script actions run on an existing cluster:

  • The script is automatically persisted.

  • A failure in the script can cause the cluster creation process to fail.

The following diagram illustrates when script action runs during the creation process:

HDInsight cluster customization and stages during cluster creation

The script runs while HDInsight is being configured. The script runs in parallel on all the specified nodes in the cluster. It runs with root privileges on the nodes.

Note

You can perform operations like stopping and starting services, including Apache Hadoop-related services. If you stop services, make sure that the Ambari service and other Hadoop-related services are running before the script finishes. These services are required to successfully determine the health and state of the cluster while it's being created.

During cluster creation, you can use many script actions at once. These scripts are invoked in the order in which they were specified.

Important

Script actions must finish within 60 minutes, or they time out. During cluster provisioning, the script runs concurrently with other setup and configuration processes. 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.

To minimize the time it takes to run the script, avoid tasks like downloading and compiling applications from the source. Precompile applications and store the binary in Azure Storage.

Script action on a running cluster

A failure in a script run on an already running cluster doesn't automatically cause the cluster to change to a failed state. After a script finishes, the cluster should return to a running state.

Important

Even if the cluster has a running state, the failed script might have broken things. For example, a script might delete files needed by the cluster.

Scripts actions run with root privileges. Make sure that you understand what a script does before you apply it to your cluster.

When you apply a script to a cluster, the cluster state changes from Running to Accepted. Then it changes to HDInsight configuration and, finally, back to Running for successful scripts. The script status is logged in the script action history. This information tells you whether the script succeeded or failed. For example, the Get-AzHDInsightScriptActionHistory PowerShell cmdlet shows the status of a script. 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

Important

If you change the cluster user, admin, password after the cluster is created, script actions run against this cluster might fail. If you have any persisted script actions that target worker nodes, these scripts might fail when you scale the cluster.

Example script action scripts

Script action scripts can be used through the following utilities:

  • The Azure portal
  • Azure PowerShell
  • The Azure classic CLI
  • An HDInsight .NET SDK

HDInsight provides scripts to install the following components on HDInsight clusters:

Name Script
Add an Azure Storage account https://hdiconfigactions.blob.core.windows.net/linuxaddstorageaccountv01/add-storage-account-v01.sh. See Add additional storage accounts to HDInsight.
Install Hue https://hdiconfigactions.blob.core.windows.net/linuxhueconfigactionv02/install-hue-uber-v02.sh. See Install and use Hue on HDInsight Hadoop clusters.
Install Presto https://raw.githubusercontent.com/hdinsight/presto-hdinsight/master/installpresto.sh. See Install and use Presto on Hadoop-based HDInsight clusters.
Install Giraph https://hdiconfigactions.blob.core.windows.net/linuxgiraphconfigactionv01/giraph-installer-v01.sh. See Install Apache Giraph on HDInsight Hadoop clusters.
Preload Hive libraries https://hdiconfigactions.blob.core.windows.net/linuxsetupcustomhivelibsv01/setup-customhivelibs-v01.sh. See Add custom Apache Hive libraries when creating your HDInsight cluster.

Use a script action during cluster creation

This section explains the different ways you can use script actions when you create an HDInsight cluster.

Use a script action during cluster creation from the Azure portal

  1. Start to create a cluster as described in Set up clusters in HDInsight with Apache Hadoop, Apache Spark, Apache Kafka, and more. During cluster creation, you arrive at a Cluster summary page. From the Cluster summary page, select the edit link for Advanced settings.

    Advanced settings link

  2. From the Advanced settings section, select Script actions. From the Script actions section, select + Submit new.

    Submit a new script action

  3. Use the Select a script entry to select a premade script. To use a custom script, select Custom. Then provide the Name and Bash script URI for your script.

    Add a script in the select script form

    The following table describes the elements on the form:

    Property Value
    Select a script To use your own script, select Custom. Otherwise, select one of the provided scripts.
    Name Specify a name for the script action.
    Bash script URI Specify the URI of the script.
    Head/Worker/Zookeeper Specify the nodes on which the script is run: Head, Worker, or ZooKeeper.
    Parameters Specify the parameters, if required by the script.

    Use the Persist this script action entry to make sure that the script is applied during scaling operations.

  4. Select Create to save the script. Then you can use + Submit new to add another script.

    Multiple script actions

    When you're done adding scripts, select the Select button and then the Next button to return to the Cluster summary section.

  5. To create the cluster, select Create from the Cluster summary selection.

Use a script action from Azure Resource Manager templates

Script actions can be used with Azure Resource Manager templates. For an example, see Create HDInsight Linux Cluster and run a script action.

In this example, the script action is added by using the following code:

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

Get more information on how to deploy a template:

Use a script action during cluster creation from Azure PowerShell

In this section, you use the Add-AzHDInsightScriptAction cmdlet to invoke scripts to customize a cluster. Before you start, make sure you install and configure Azure PowerShell. To use these PowerShell commands, you need the AZ Module.

Note

This article has been updated to use the new Azure PowerShell Az module. You can still use the AzureRM module, which will continue to receive bug fixes until at least December 2020. To learn more about the new Az module and AzureRM compatibility, see Introducing the new Azure PowerShell Az module. For Az module installation instructions, see Install Azure PowerShell.

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

It can take several minutes before the cluster is created.

Use a script action during cluster creation from the HDInsight .NET SDK

The HDInsight .NET SDK provides client libraries that make it easier to work with HDInsight from a .NET application. For a code sample, see Create Linux-based clusters in HDInsight by using the .NET SDK.

Apply a script action to a running cluster

This section explains how to apply script actions to a running cluster.

Apply a script action to a running cluster from the Azure portal

Go to the Azure portal:

  1. From the left menu, select All services.

  2. Under ANALYTICS, select HDInsight clusters.

  3. Select your cluster from the list, which opens the default view.

  4. From the default view, under Settings, select Script actions.

  5. From the top of the Script actions page, select + Submit new.

    Add a script to a running cluster

  6. Use the Select a script entry to select a premade script. To use a custom script, select Custom. Then provide the Name and Bash script URI for your script.

    Add a script in the select script form

    The following table describes the elements on the form:

    Property Value
    Select a script To use your own script, select custom. Otherwise, select a provided script.
    Name Specify a name for the script action.
    Bash script URI Specify the URI of the script.
    Head/Worker/Zookeeper Specify the nodes on which the script is run: Head, Worker, or ZooKeeper.
    Parameters Specify the parameters, if required by the script.

    Use the Persist this script action entry to make sure the script is applied during scaling operations.

  7. Finally, select the Create button to apply the script to the cluster.

Apply a script action to a running cluster from Azure PowerShell

To use these PowerShell commands, you need the AZ Module.

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

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}

Apply a script action to a running cluster from the Azure CLI

Before you start, make sure you install and configure the Azure CLI. For more information, see Install the Azure classic CLI.

Important

This article contains content that requires the Azure classic CLI. The current release of the Azure CLI doesn't have support for the features outlined in this article, so the classic CLI is required.

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 where feature support is available. To install the classic CLI, see Install the Azure classic CLI. To install the current CLI, see Install the Azure CLI.

  1. Switch to Azure Resource Manager mode:

    azure config mode arm
    
  2. Authenticate to your Azure subscription:

    azure login
    
  3. Apply a script action to a running cluster:

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

    If you omit parameters for this command, you're prompted for them. If the script you specify with -u accepts parameters, you can specify them by using the -p parameter.

    Valid node types are headnode, workernode, and zookeeper. If the script should be applied to several node types, specify the types separated by a semicolon ;. For example, -n headnode;workernode.

    To persist the script, add --persistOnSuccess. You can also persist the script later by using azure hdinsight script-action persisted set.

    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
    

Apply a script action to a running cluster by using REST API

See Cluster REST API in Azure HDInsight.

Apply a script action to a running cluster from the HDInsight .NET SDK

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.

View history and promote and demote script actions

The Azure portal

  1. Sign in to the Azure portal.

  2. From the left menu, select All services.

  3. Under ANALYTICS, select HDInsight clusters.

  4. Select your cluster from the list, which opens the default view.

  5. From the default view, under Settings, select Script actions.

  6. A history of scripts for this cluster displays on the script actions section. This information includes a list of persisted scripts. The following screenshot shows that the Solr script has been run on this cluster. The screenshot doesn't show any persisted scripts.

    Script actions

  7. Select a script from the history to display the Properties section for this script. From the top of the screen, you can rerun the script or promote it.

    Script actions, Properties

  8. You can also select the ellipsis, ..., to the right of entries on the script actions section to perform actions.

    Script actions, ellipsis

Azure PowerShell

cmdlet Function
Get-AzHDInsightPersistedScriptAction Retrieve information on persisted script actions.
Get-AzHDInsightScriptActionHistory Retrieve a history of script actions applied to the cluster or details for a specific script.
Set-AzHDInsightPersistedScriptAction Promote an ad hoc script action to a persisted script action.
Remove-AzHDInsightPersistedScriptAction Demote a persisted script action to an ad hoc action.

Important

Remove-AzHDInsightPersistedScriptAction doesn't undo the actions performed by a script. This cmdlet only removes the persisted flag.

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"

The Azure classic CLI

cmdlet Function
azure hdinsight script-action persisted list <clustername> Retrieve a list of persisted script actions.
azure hdinsight script-action persisted show <clustername> <scriptname> Retrieve information on a specific persisted script action.
azure hdinsight script-action history list <clustername> Retrieve a history of script actions applied to the cluster.
azure hdinsight script-action history show <clustername> <scriptname> Retrieve information on a specific script action.
azure hdinsight script action persisted set <clustername> <scriptexecutionid> Promote an ad hoc script action to a persisted script action.
azure hdinsight script-action persisted delete <clustername> <scriptname> Demote a persisted script action to an ad hoc action.

Important

azure hdinsight script-action persisted delete doesn't undo the actions performed by a script. This cmdlet only removes the persisted flag.

The HDInsight .NET SDK

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.

Note

This example also demonstrates how to install an HDInsight application by using the .NET SDK.

Support for open-source software used on HDInsight clusters

The Microsoft Azure HDInsight service uses an ecosystem of open-source technologies formed around Apache Hadoop. Microsoft Azure provides a general level of support for open-source technologies. For more information, see the Support Scope section of Azure Support FAQs. The HDInsight service provides an additional level of support for built-in components.

Two types of open-source components are available in the HDInsight service:

Warning

Components provided with the HDInsight cluster are fully supported. Microsoft Support helps to isolate and resolve issues related to these components.

Custom components receive commercially reasonable support to help you further troubleshoot the issue. Microsoft Support might be able to resolve the issue. Or they might ask you to engage available channels for the open-source technologies where deep expertise for that technology is found. Many community sites can be used. Examples are MSDN forum for HDInsight and Stack Overflow.

Apache projects also have project sites on the Apache website. An example is Hadoop.

The HDInsight service provides several ways to use custom components. The same level of support applies, no matter how a component is used or installed on the cluster. The following list describes the most common ways that custom components are used on HDInsight clusters:

  1. Job submission. Hadoop or other types of jobs that execute or use custom components can be submitted to the cluster.

  2. Cluster customization. During cluster creation, you can specify additional settings and custom components that are installed on the cluster nodes.

  3. Samples. For popular custom components, Microsoft and others might provide samples of how these components can be used on HDInsight clusters. These samples are provided without support.

Troubleshooting

You can use the Ambari web UI to view information logged by script actions. If the script fails during cluster creation, the logs are also available in the default storage account associated with the cluster. This section provides information on how to retrieve the logs by using both these options.

The Apache Ambari web UI

  1. In your browser, go to https://CLUSTERNAME.azurehdinsight.net. Replace CLUSTERNAME with the name of your HDInsight cluster.

    When prompted, enter the admin account name, admin, and password for the cluster. You might have to reenter the admin credentials in a web form.

  2. From the bar at the top of the page, select the ops entry. A list displays current and previous operations done on the cluster through Ambari.

    Ambari web UI bar with ops selected

  3. Find the entries that have run_customscriptaction in the Operations column. These entries are created when the script actions run.

    Screenshot of operations

    To view the STDOUT and STDERR output, select the run\customscriptaction entry and drill down through the links. This output is generated when the script runs and might have useful information.

Access logs from the default storage account

If cluster creation fails because of a script error, the logs are kept in the cluster storage account.

  • The storage logs are available at \STORAGE_ACCOUNT_NAME\DEFAULT_CONTAINER_NAME\custom-scriptaction-logs\CLUSTER_NAME\DATE.

    Screenshot of operations

    Under this directory, the logs are organized separately for headnode, worker node, and zookeeper node. See the following examples:

    • Headnode: <uniqueidentifier>AmbariDb-hn0-<generated_value>.cloudapp.net

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

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

  • All stdout and stderr of the corresponding host is uploaded to the storage account. There's one output-*.txt and errors-*.txt for each script action. The output-*.txt file contains information about the URI of the script that was run on the host. 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'
    
  • It's possible that you repeatedly create a script action cluster with the same name. In that case, you can distinguish the relevant logs based on the DATE folder name. 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

  • 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.

  • If you create a cluster near 12:00 AM, midnight, it's possible that the log files span across two days. In that case, you see two different date folders for the same cluster.

  • Uploading log files to the default container can take up to five minutes, especially for large clusters. So if you want to access the logs, you shouldn't immediately delete the cluster if a script action fails.

Ambari watchdog

Warning

Don't change the password for the Ambari watchdog, hdinsightwatchdog, on your Linux-based HDInsight cluster. Changing the password for this account breaks the ability to run new script actions on the HDInsight cluster.

Can't import name BlobService

Symptoms. The script action fails. 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

Cause. This error occurs if you upgrade the Python Azure Storage client that's included with the HDInsight cluster. HDInsight expects Azure Storage client 0.20.0.

Resolution. To resolve this error, manually connect to each cluster node by using ssh. Run the following command to reinstall the correct storage client version:

sudo pip install azure-storage==0.20.0

For information on connecting to the cluster with SSH, see Connect to HDInsight (Apache Hadoop) by using SSH.

History doesn't show the scripts used during cluster creation

If your cluster was created before March 15, 2016, you might not see an entry in script action history. Resizing the cluster causes the scripts to appear in script action history.

There are two exceptions:

  • Your cluster was created before September 1, 2015. This date is when script actions were introduced. Any cluster created before this date couldn't have used script actions for cluster creation.

  • You used multiple script actions during cluster creation. Or you used the same name for multiple scripts or the same name, same URI, but different parameters for multiple scripts. In these cases, you get the following error:

    No new script actions can be run on this cluster because of conflicting script names in existing scripts. Script names provided at cluster creation must be all unique. Existing scripts are run on resize.

Next steps