Команда Azure New-AzureRmHDInsightCluster не принимает документированную опцию ComponentVersion - PullRequest
0 голосов
/ 19 сентября 2018

Согласно документации MS для New-AzureRmHDInsightCluster , он должен принять -ComponentVersion в качестве опции:

$httpCredential = New-Object System.Management.Automation.PSCredential ($httpUserName, $clusterpassword)

$sparkConfig = New-Object "System.Collections.Generic.Dictionary``2[System.String,System.String]"
$sparkConfig.Add("spark", "2.1")

New-AzureRmHDInsightCluster `
    -ClusterName mycluster `
    -ComponentVersion $sparkConfig `
    -ClusterSizeInNodes 4 `
    -HttpCredential $httpCredential `
    -Location "Central US" `
    -OSType Linux `
    -ResourceGroupName tstcluster

Однако эта команда приводит к:

##[error]A parameter cannot be found that matches parameter name 'ComponentVersion'.

Есть ли способ выбрать требуемую версию Spark?Мы привыкли использовать:

Add-AzureRmHDInsightComponentVersion -Config $config -ComponentName "Spark" -ComponentVersion "2.1"

Но теперь это отклонено:

##[error]The term 'Add-AzureRmHDInsightComponentVersion' is not recognized as the name of a cmdlet, function, script file, or operable program. Check the spelling of the name, or if a path was included, verify that the path is correct and try again.

РЕДАКТИРОВАТЬ:

Пара факторов, которые были ключевыми для решения этой проблемы: во-первых, этоСценарий запускается задачей Azure PowerShell Script в конвейере Azure Dev Ops.Во-вторых, версия PowerShell, используемая для запуска этого сценария, была 1. *.

Ответы [ 2 ]

0 голосов
/ 25 сентября 2018

MS не смогла объяснить, почему перестал работать скрипт, который работал в Azure Dev Ops (тогда VSTS).Именно поэтому Add-AzureRmHDInsightComponentVersion был поддержан в январе 2018 года, но не в сентябре того же года.

Их решением было выбрать последнюю версию PowerShell, доступную в конвейере (3. *), и установить для Preferred Azure PowerShell Version значение 3.8.0.

В результате внесения этих изменений существующий сценарий стал работоспособным.еще раз.

0 голосов
/ 20 сентября 2018

Попробуйте команду ниже, она отлично работает на моей стороне.Убедитесь, что вы установили модуль * PowerShell AzureRM.HDInsight, вы можете проверить его с помощью Get-Module AzureRM.HDInsight.

enter image description here

Пример команды:

$httpUserName = "joyhd"
$clusterpassword = ConvertTo-SecureString "<password>" -AsPlainText -Force 
$httpCredential = New-Object System.Management.Automation.PSCredential($httpUserName, $clusterpassword)    
$SshCredential = New-Object System.Management.Automation.PSCredential($httpUserName, $clusterpassword)
$storageAccountName = "<storageAccountName>"
$storageAccountKey = "xxxxxxx"
$storageContainer = "testhd"

New-AzureRmHDInsightClusterConfig `
            | Add-AzureRmHDInsightComponentVersion `
                -ComponentName "Spark" `
                -ComponentVersion "2.1" `
            | New-AzureRmHDInsightCluster `
    -ClusterName joytesthd `
    -ClusterType "Spark" `
    -ClusterSizeInNodes 4 `
    -HttpCredential $httpCredential `
    -Location "eastus" `
    -OSType Linux `
    -ResourceGroupName joywebapp `
    -DefaultStorageAccountName "$storageAccountName.blob.core.windows.net" `
    -DefaultStorageAccountKey $storageAccountKey `
    -DefaultStorageContainer $storageContainer `
    -SshCredential $SshCredential

Результат:

enter image description here

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...