共用方式為


Add-AzHDInsightScriptAction

將腳本動作新增至叢集組態物件。

Syntax

Add-AzHDInsightScriptAction
   [-Config] <AzureHDInsightConfig>
   [-NodeType] <ClusterNodeType>
   [-Uri] <Uri>
   [-Name] <String>
   [[-Parameters] <String>]
   [-DefaultProfile <IAzureContextContainer>]
   [<CommonParameters>]

Description

Add-AzHDInsightScriptAction Cmdlet 會將腳本動作新增至 New-AzHDInsightClusterConfig Cmdlet 所建立的 HDInsight 組態物件。 腳本動作提供用來安裝其他軟體的功能,或使用 Windows PowerShell 或 Bash 腳本來變更 Hadoop 叢集上執行的應用程式組態(分別適用於 Windows 或 Linux 叢集)。 部署 HDInsight 叢集時,腳本動作會在叢集節點上執行,並在叢集中的節點完成 HDInsight 設定之後執行。 腳本動作會以系統管理員帳戶許可權執行,並提供叢集節點的完整訪問許可權。 您可以為每個叢集提供一份腳本動作清單,以指定的順序執行。

範例

範例 1:將腳本動作新增至叢集組態物件

# Primary storage account info
$storageAccountResourceGroupName = "Group"
$storageAccountResourceId = "yourstorageaccountresourceid"
$storageAccountName = "yourstorageacct001"
$storageAccountKey = (Get-AzStorageAccountKey -ResourceGroupName $storageAccountResourceGroupName -Name $storageAccountName)[0].value


$storageContainer = "container001"

# Script action info
$scriptActionName = "<script action name>"
$scriptActionURI = "<script action URI>"
$scriptActionParameters = "<script action parameters>" 

# Cluster configuration info
$location = "East US 2"
$clusterResourceGroupName = "Group"
$clusterName = "your-hadoop-001"
$clusterCreds = Get-Credential

# If the cluster's resource group doesn't exist yet, run:
#   New-AzResourceGroup -Name $clusterResourceGroupName -Location $location

# Create the cluster
New-AzHDInsightClusterConfig  `
            | Add-AzHDInsightScriptAction `
                -Name $scriptActionName `
                -Uri $scriptActionURI `
                -Parameters $scriptActionParameters `
                -NodeType Worker `
            | Add-AzHDInsightScriptAction `
                -Name $scriptActionName `
                -Uri $scriptActionURI `
                -Parameters $scriptActionParameters `
                -NodeType Head `
            | New-AzHDInsightCluster `
                -ClusterType Hadoop `
                -OSType Windows `
                -ClusterSizeInNodes 4 `
                -ResourceGroupName $clusterResourceGroupName `
                -ClusterName $clusterName `
                -HttpCredential $clusterCreds `
                -Location $location `
                -StorageAccountResourceId $storageAccountResourceId `
                -StorageAccountKey $storageAccountKey `
                -StorageContainer $storageContainer

此命令會為your-hadoop-001 叢集的前端和背景工作節點新增腳本動作,以在叢集建立結束時執行。

參數

-Config

指定此 Cmdlet 修改的 HDInsight 叢集組態物件。 這個物件是由 New-AzHDInsightClusterConfig Cmdlet 所建立。

Type:AzureHDInsightConfig
Position:0
Default value:None
Required:True
Accept pipeline input:True
Accept wildcard characters:False

-DefaultProfile

用於與 azure 通訊的認證、帳戶、租用戶和訂用帳戶

Type:IAzureContextContainer
Aliases:AzContext, AzureRmContext, AzureCredential
Position:Named
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Name

指定文稿動作的名稱。

Type:String
Position:3
Default value:None
Required:True
Accept pipeline input:False
Accept wildcard characters:False

-NodeType

指定要在其中執行文稿動作的節點類型。 此參數可接受的值為:

  • HeadNode
  • WorkerNode
  • ZookeeperNode
Type:ClusterNodeType
Accepted values:HeadNode, WorkerNode, ZookeeperNode, EdgeNode
Position:1
Default value:None
Required:True
Accept pipeline input:False
Accept wildcard characters:False

-Parameters

指定文稿動作的參數。

Type:String
Position:4
Default value:None
Required:False
Accept pipeline input:False
Accept wildcard characters:False

-Uri

指定腳本動作的公用 URI(PowerShell 或 Bash 腳本)。

Type:Uri
Position:2
Default value:None
Required:True
Accept pipeline input:False
Accept wildcard characters:False

輸入

AzureHDInsightConfig

輸出

AzureHDInsightConfig