2016-06-04 8 views
0

Ich versuche, einen HDInsight-Sturmcluster in Azure zu erstellen und ihn meinem virtuellen Netzwerk hinzuzufügen. Aber aus irgendeinem Grund habe ich immer folgende Fehlermeldung:Ich kann keinen HDInsight-Cluster in Azure im virtuellen Netzwerk erstellen

Pre Cluster-Erstellung Validierung fehlgeschlagen: Virtuelles Netzwerk-Validierung für die Cluster-xxxxxxx konnte aufgrund Benutzer errorValidation Report: Benutzer Abonnement xxxxxxx kein virtuelles Netzwerk haben. Ausnahme:

Die Powershell-Skripts sieht wie folgt aus:

#################################### 
# Set these variables 
#################################### 
$nameToken = "xxxxxx" 

$httpUserName = "xxxxxx" 
$httpPassword = "xxxxxx" 

$ClusterTyp = "Storm" 
$namePrefix = $nameToken.ToLower() 

$resourceGroupName = $namePrefix 
$hdinsightClusterName = $namePrefix +"storm" 
$defaultStorageAccountName = $namePrefix +"storm" 
$defaultBlobContainerName = $hdinsightClusterName 

$location = "North Europe" 
$clusterSizeInNodes = 1 

#Virtual Network 
$NetworkName = "xxxxxx" 
$subnetName = "xxxxxx" 

# Treat all errors as terminating 
$ErrorActionPreference = "Stop" 

########################################### 
# Connect to Azure 
########################################### 
#region - Connect to Azure subscription 
Write-Host "`nConnecting to your Azure subscription ..." -ForegroundColor Green 
try{Get-AzureRmContext} 
catch{Login-AzureRmAccount} 
#endregion 

########################################### 
# Preapre default storage account and container 
########################################### 
New-AzureRmStorageAccount -ResourceGroupName $resourceGroupName -Name $defaultStorageAccountName -Type Standard_GRS -Location $location 

$defaultStorageAccountKey = (Get-AzureRmStorageAccountKey -ResourceGroupName $resourceGroupName -Name $defaultStorageAccountName).Key1 


$defaultStorageContext = New-AzureStorageContext -StorageAccountName $defaultStorageAccountName -StorageAccountKey $defaultStorageAccountKey 
New-AzureStorageContainer -Name $hdinsightClusterName -Context $defaultStorageContext 

########################################### 
# Create the cluster 
########################################### 

$vnet = (Get-AzureRmVirtualNetwork -ResourceGroupName $ResourceGroupName -Name $NetworkName).Id 
$httpPW = ConvertTo-SecureString -String $httpPassword -AsPlainText -Force 
$httpCredential = New-Object System.Management.Automation.PSCredential($httpUserName,$httpPW) 
Write-Host "Create HDInsight Cluster" -ForegroundColor Yellow 

New-AzureRmHDInsightCluster -ResourceGroupName $resourceGroupName -ClusterName $hdinsightClusterName -Location $location -ClusterSizeInNodes $clusterSizeInNodes -ClusterType $ClusterTyp -OSType Windows -Version "3.2" -HttpCredential $httpCredential -DefaultStorageAccountName "$defaultStorageAccountName.blob.core.windows.net" -DefaultStorageAccountKey $defaultStorageAccountKey -DefaultStorageContainer $hdinsightClusterName -VirtualNetworkId $vnet -SubnetName $subnetName 

Write-Host "HDInsight Cluster Created" -ForegroundColor Green 
#################################### 
# Verify the cluster 
#################################### 
Get-AzureRmHDInsightCluster -ClusterName $hdinsightClusterName 

Wenn ich das Script ohne die folgenden Parameter laufen scheint es richtig zu arbeiten:

-VirtualNetworkId $ vnet -SubnetName $ subnetName

Natürlich wird der Cluster dem Virtual Netw nicht hinzugefügt werden Ork ohne diese Parameter. Das virtuelle Netzwerk existiert mit Sicherheit, wenn ich den Cluster manuell im Portal hinzufüge, kann ich ihn zum entsprechenden virtuellen Netzwerk hinzufügen.

Vielen Dank für Ihre Hilfe.

freundlichen Grüßen

Antwort

0

Es ist viel einfacher, einen ARM-Vorlage. Sie können die ARM-Vorlage über das Portal, Azure PowerShell oder CLI aufrufen. Hier ist ein Beispiel zum Erstellen eines HBase-Clusters in einem virtuellen Netzwerk. Sie können die Vorlage leicht modifiziert stattdessen einen Sturm-Cluster zu erstellen:

https://azure.microsoft.com/en-us/documentation/articles/hdinsight-hbase-provision-vnet/

Bitte beachten Sie:

Windows-basierten Cluster erfordern eine v1 (Classic) Virtual Network, während Linux-basierten Clustern eine v2 benötigen (Azure Resource Manager,) Virtuelles Netzwerk. Wenn Sie nicht über den richtigen Netzwerktyp verfügen, kann er beim Erstellen des Clusters nicht verwendet werden. Siehe https://azure.microsoft.com/documentation/articles/hdinsight-extend-hadoop-virtual-network/

+0

Cool perfekt, funktioniert gut mit der ARM-Vorlage! Vielen Dank! – Andreas