2016-05-30 9 views
0

azure powershellを使用してHDINSIGHTクラスタを自動化しようとしています。azure hdinsight追加のストレージアカウントを持つクラスタを作成する

私は公式ドキュメントから、このテンプレートを使用しています

https://github.com/Azure/azure-content/blob/master/articles/hdinsight/hdinsight-hadoop-create-linux-clusters-azure-powershell.md

どうすればセットアップ私クラスタのadditoinalストレージアカウント?あなたは何か考えていますか? ドキュメントは、ここで、私はAPIが変更された可能性があるので、約2年でこのコードを使用しますが、仕事に使用していないC#のライブラリーからの一例である例

$resourceGroupName = "<ResourceGroupName>"  # Provide the Resource Group name 
$storageAccountName = "<StorageAcccountName>" # Provide the Storage account name 
$containerName = "<ContainerName>"    # Provide the container name 
$storageAccountKey = Get-AzureStorageAccountKey -Name $storageAccountName -ResourceGroupName $resourceGroupName | %{ $_.Key1 } 

# Set these variables 
$clusterName = $containerName     # As a best practice, have the same name for the cluster and container 
$clusterNodes = <ClusterSizeInNodes>   # The number of nodes in the HDInsight cluster 
$credentials = Get-Credential -Message "Enter Cluster user credentials" -UserName "admin" 
$sshCredentials = Get-Credential -Message "Enter SSH user credentials" 

# The location of the HDInsight cluster. It must be in the same data center as the Storage account. 
$location = Get-AzureRmStorageAccount -ResourceGroupName $resourceGroupName -StorageAccountName $storageAccountName | %{$_.Location} 

# Create a new HDInsight cluster 
New-AzureRmHDInsightCluster -ClusterName $clusterName -ResourceGroupName $resourceGroupName -HttpCredential $credentials -Location $location -DefaultStorageAccountName "$storageAccountName.blob.core.windows.net" -DefaultStorageAccountKey $storageAccountKey -DefaultStorageContainer $containerName -ClusterSizeInNodes $clusterNodes -ClusterType Hadoop -OSType Linux -Version "3.2" -SshCredential $sshCredentials 

答えて

0

せずにパラメータ-AdditionalStorageAccountsに言及し、それが役に立てば幸い。

// PROVIDE THE CERTIFICATE THUMBPRINT TO RETRIEVE THE CERTIFICATE FROM THE CERTIFICATE STORE 
var store = new X509Store(StoreLocation.CurrentUser); 
store.Open(OpenFlags.ReadOnly); 
var cert = store.Certificates.Cast<X509Certificate2>().First(item => item.Thumbprint == thumbprint); 

// CREATE AN HDINSIGHT CLIENT OBJECT 
var creds = new HDInsightCertificateCredential(Guid.Parse(subscriptionid), cert); 
var client = HDInsightClient.Connect(creds); 
client.IgnoreSslErrors = true; 


// the location of additional-libs that will get pulled into the the env on create 
string hiveAddtionalLibContainer = "additional-hive-lib"; 
var hiveAdditionalLibStorage = new WabStorageAccountConfiguration(storageaccountname, storageaccountkey, hiveAddtionalLibContainer); 


// PROVIDE THE CLUSTER INFORMATION 
var clusterInfo = new ClusterCreateParametersV2() 
{ 
    Name = clusterName, 
    Location = location, 
    DefaultStorageAccountName = storageaccountname, 
    DefaultStorageAccountKey = storageaccountkey, 
    DefaultStorageContainer = clusterName, 
    UserName = username, 
    Password = password, 
    ClusterSizeInNodes = clustersize, 
    Version = "3.2",  
    ClusterType = Microsoft.WindowsAzure.Management.HDInsight.ClusterProvisioning.Data.ClusterType.Hadoop, 

}; 

// add more storage 
clusterInfo.AdditionalStorageAccounts.Add(new WabStorageAccountConfiguration(storageaccountnameAdd1, storageaccountkeyAdd1)); 

client.CreateCluster(clusterInfo); 
+0

を、それを追加しますが、私は紺碧のPowerShellと解決策を見つけるためにしようとしています、ありがとうございます。ありがとうございます。 –

+0

私はスクラッチリソース、ストレージアカウントのエンティティなどから再作成しました。クラスタ名とは異なるストレージBLOBコンテナ名を設定すると、クラスタが失敗すると思われます。 –

0

HDInsightクラスタを正しく作成するには、クラスタとデフォルトのコンテナに同じ名前を指定する必要があります。

ロベルト

0

次の行は、ストレージアカウントを作成し、追加のストレージアカウントとして

# create a storage account 
$additionalStorageAccountName = $token + "store2" 
New-AzureRmStorageAccount -ResourceGroupName $resourceGroupName -StorageAccountName $additionalStorageAccountName -Location $location -Type Standard_LRS 
$additionalStorageAccountKey = (Get-AzureRmStorageAccountKey -Name $additionalStorageAccountName -ResourceGroupName $resourceGroupName)[0].Value 

# Specify the additional storage account 
$config = New-AzureRmHDInsightClusterConfig 
Add-AzureRmHDInsightStorage -Config $config -StorageAccountName "$additionalStorageAccountName.blob.core.windows.net" -StorageAccountKey $additionalStorageAccountKey 

# Create a new HDInsight cluster with an additional storage account 
New-AzureRmHDInsightCluster ` 
    -ClusterName $clusterName ` 
    -ResourceGroupName $resourceGroupName ` 
    -HttpCredential $credentials ` 
    -Location $location ` 
    -DefaultStorageAccountName "$defaultStorageAccountName.blob.core.windows.net" ` 
    -DefaultStorageAccountKey $defaultStorageAccountKey ` 
    -DefaultStorageContainer $defaultStorageContainerName ` 
    -ClusterSizeInNodes $clusterNodes ` 
    -ClusterType Hadoop ` 
    -OSType Linux ` 
    -Version "3.4" ` 
    -SshCredential $sshCredentials ` 
    -Config $config 
関連する問題