Azure的New-AzureRmHDInsightCluster命令不接受记录的ComponentVersion选项

时间:2018-09-19 19:41:50

标签: azure powershell

根据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 Dev Ops管道中的Azure PowerShell Script任务运行。其次,用于运行此脚本的PowerShell版本为1。*。

2 个答案:

答案 0 :(得分:0)

请尝试以下命令,它对我而言效果很好。确保已安装AzureRM.HDInsight powershell模块,可以使用push进行检查。

enter image description here

示例命令:

     return Scaffold(
            appBar: AppBar(
              title: Text("Title"),
            ),
            body: YourBody(),

            );

结果:

enter image description here

答案 1 :(得分:0)

MS无法解释为什么在Azure Dev Ops(然后是VSTS)中运行的脚本为何停止工作。这就是为什么在2018年1月而不在同年9月支持Add-AzureRmHDInsightComponentVersion的原因。

他们的解决方案是选择管道(3. *)中可用的最新版本的PowerShell,并将Preferred Azure PowerShell Version设置为3.8.0。

进行这些更改使现有脚本可以再次使用。