none
尝试用powershell管理HDInsight报错 RRS feed

  • 问题

  • 大家好,本人刚接触azure和powershell,尝试用powershell管理HDInsight,但是最简单的指令都没走通,我的azure powershell的版本为1.0.3,用下载器装的没改过任何配置。

    开始时用get-azureHdinsightCluster,但是会报身份验证失败什么的,但是我已经通过身份验证并且选择了subscription。。。

    PS C:\Windows\system32> Get-AzureHDInsightCluster
    警告: The Azure Service Management (ASM) cmdlets for HDInsight are deprecated and will be removed in a future release. Please use the ARM version of this cmdlet: Get-AzureRmHDInsightCluster
    Get-AzureHDInsightCluster : Request failed with code:Forbidden
    Content:<Error xmlns="http://schemas.microsoft.com/windowsazure" xmlns:i="http://www.w3.org/2001/XMLSchema-instance"><Code>ForbiddenError</Code><Message>The server failed to authenticate the request. Verify that the certi
    ficate is valid and is associated with this subscription.</Message></Error>
    所在位置 行:1 字符: 1
    + Get-AzureHDInsightCluster
    + ~~~~~~~~~~~~~~~~~~~~~~~~~
        + CategoryInfo          : NotSpecified: (:) [Get-AzureHDInsightCluster], HttpLayerException
        + FullyQualifiedErrorId : Microsoft.WindowsAzure.Management.HDInsight.Framework.Core.Library.WebRequest.HttpLayerException,Microsoft.WindowsAzure.Management.HDInsight.Cmdlet.PSCmdlets.GetAzureHDInsightClusterCmdlet

    另外还有个警告说不要用ASM要用ARM,于是重新用ARM登录然后执行get-azureRmHdinsightCluster,报错如下namespace未定义什么的。。(其他rm指令也报类似的错都是namespace错)

    PS C:\Windows\system32> Get-AzureRmHDInsightCluster
    Get-AzureRmHDInsightCluster : InvalidResourceNamespace: The resource namespace 'Microsoft.HDInsight' is invalid.
    所在位置 行:1 字符: 1
    + Get-AzureRmHDInsightCluster
    + ~~~~~~~~~~~~~~~~~~~~~~~~~~~
        + CategoryInfo          : CloseError: (:) [Get-AzureRmHDInsightCluster],CloudException
        + FullyQualifiedErrorId : Microsoft.Azure.Commands.HDInsight.GetAzureHDInsightCommand

    按道理说两种方式应该都能获取到集群信息的,只是第一种不建议用,结果两种都报错,实在搞不懂了特来求助,希望两个方式都能弄清楚原因,先谢过!



    2016年2月2日 4:13

答案

全部回复

  • Hi,

    你使用的是国际版的还是中国版的Azure? 我建议你按照这篇文章更新下你的azure powershell:https://azure.microsoft.com/en-gb/documentation/articles/powershell-install-configure/, 下面是我从文章中摘出的命令:

    # Install the Azure Resource Manager modules from the PowerShell Gallery
    Install-Module AzureRM
    Install-AzureRM
    
    # Install the Azure Service Management module from the PowerShell Gallery
    Install-Module Azure
    
    # Import AzureRM modules for the given version manifest in the AzureRM module
    Import-AzureRM
    
    # Import Azure Service Management module
    Import-Module Azure

    我在一开始没有执行上述命令的时候出现了和你一样的错误,在更新后我成功的获取了相关信息:

    Powershell 1.0以上使用的注意事项请阅读:http://blogs.msdn.com/b/azchina/archive/2015/12/18/azure-powershell-1.0.0_e54e0a4e48722c6728572d4efd56_azure_7f4f28758476e86c0f618b4e7998_.aspx

    上述我使用的是国际版。如果你使用的是中国版的Azure,我建议你安装官方的文档来操作HDInsight:http://www.windowsazure.cn/documentation/articles/hdinsight-administer-use-powershell

    关于Powershell的正确安装请阅读:http://www.windowsazure.cn/documentation/articles/powershell-install-configure,关于HDInsight的Powershell指令请阅读:https://msdn.microsoft.com/zh-cn/library/dn858087.aspx

    Best Regards,

    Jambor 

     


    We are trying to better understand customer views on social support experience, so your participation in this interview project would be greatly appreciated if you have time. Thanks for helping make community forums a great place.
    Click HERE to participate the survey.




    2016年2月2日 6:48
    版主
  • 您好,感谢回复。我用的是中国版的azure,我没有您列的那些命令(报不存在的cmdlet),这些是国际版才有的命令吗。(azure powershell也分中国版和国际版?这个有点晕,我觉得官方弄得有点乱)

    # Install the Azure Resource Manager modules from the PowerShell Gallery
    Install-Module AzureRM
    Install-AzureRM
    
    # Install the Azure Service Management module from the PowerShell Gallery
    Install-Module Azure
    
    # Import AzureRM modules for the given version manifest in the AzureRM module
    Import-AzureRM
    
    # Import Azure Service Management module
    Import-Module Azure


    还有您说的开始也遇到同样的问题是指第一个问题(报身份验证)还是第二个问题(报namespace未定义)?

    您后面发的文档我之前也看过了,也都是按照文档操作的,我再说明下我现在的情况

    1、用ASM模式时,操作其他资源(比如vm或者website)都是可以正常创建删除的,但是操作HDInsight的时候就会报“请求失败,身份验证错误”(如我问题里面描述的那样)

    2、用ARM模式时,操作任何资源都会报“namespace未定义”(如我问题里面描述的那样)

    2016年2月3日 2:15
  • Azure 中国暂时还不支持 ARM 管理 HDInsight cluster. 所以 Get-AzureRmHDInsightCluster 是不能用的。我也在测试这些命令,得到一样的错误,无论是 Azure PowerShell 1.0.3,还是 0.9.8.1,还是 0.8.16,都是一样的错误。中国版 Azure 的文档关于这个不是很完善,所以不要贴那里的文档。看这个信息,应该不是 Azure PowerShell 版本的问题,而是服务器端的问题。
    2016年2月3日 3:30
  • Hi,

    在同样的环境下我操作国际版的能够得到结果(Get-AzureHDInsightCluster
    ),但是中国版的我也得到了和你一样的错误,所以我个人感觉和环境及命令没太大关系,我将和相关团队确认具体的情况,如果有任何的消息我将更新我的回复。对你造成的不便还请谅解。

    Best Regards,

    Jambor


    We are trying to better understand customer views on social support experience, so your participation in this interview project would be greatly appreciated if you have time. Thanks for helping make community forums a great place.
    Click HERE to participate the survey.


    2016年2月3日 5:16
    版主
  • 好的,感谢支持,先谢过
    2016年2月3日 6:24
  • Hi,

    请尝试使用如下方式看是否对您的问题有帮助:

    1) Remove-AzureSubscription: https://msdn.microsoft.com/en-us/library/dn495109.aspx

    2) 然后使用Import-AzurePublishSettingsFile 导入你的订阅信息: https://msdn.microsoft.com/en-us/library/dn385850(v=nav.70).aspx

    我找到这个帖子:https://social.msdn.microsoft.com/Forums/expression/en-US/1cccc844-1fbc-4e12-88c2-59367100f8a3/hdinsight-administration-with-powershell-getting-list-of-clusters-and-other-cmds-fail?forum=hdinsight  讨论AD的方式登录使用HDINSIGHT 的指令会有问题。请尝试使用Import-AzurePublishSettingsFile 的方式。希望上面的方法能帮助你。如果你还有任何疑问,欢迎随时回来。

    Best Regards,

    Jambor


    We are trying to better understand customer views on social support experience, so your participation in this interview project would be greatly appreciated if you have time. Thanks for helping make community forums a great place.
    Click HERE to participate the survey.

    2016年2月3日 7:32
    版主
  • 您好,我最早用的就是证书的方式过认证,刚又重新试一遍,报错依旧。。。

    图有点小,还是主问题上贴的那个错误,“请求失败,身份验证错误”,操作其他azure资源都没有问题,get-azureVM都不报错,唯独HDInsight是这样,不仅是get,如果new一个也会报一样的错误
    2016年2月3日 7:57
  • Hi,

    我建议你先remove掉所有的订阅,然后导入你需要的再次尝试试试。我通过这种方式已经成功的获取到了结果:

    在CSDN帖子中bbetstcw也以同样的方式解决了问题。还请你再次试试。

    Best Regards,

    Jambor          


    We are trying to better understand customer views on social support experience, so your participation in this interview project would be greatly appreciated if you have time. Thanks for helping make community forums a great place.
    Click HERE to participate the survey.

    2016年2月3日 8:04
    版主
  • 万分感谢,问题终于解决了,需要重新remove掉重新导入证书。。略坑

    另外还有个小问题 ARM在中国版不能用吗,大概什么时候能用,因为警告说ASM会弃用什么的,总不能基于ASM开发完脚本,然后微软一升级还要全改一遍吧。。


    2016年2月3日 9:41
  • Hi,

    >>因为警告说ASM会弃用什么的,总不能基于ASM开发完脚本,然后微软一升级还要全改一遍吧

    关于这个问题我们还是要关注日后的更新情况了,目前国际版也还是可以使用的。中国版目前也还是只能这样子操作了。对您造成的不便还请体谅。

    Best Regards,

    Jambor


    We are trying to better understand customer views on social support experience, so your participation in this interview project would be greatly appreciated if you have time. Thanks for helping make community forums a great place.
    Click HERE to participate the survey.

    2016年2月4日 1:53
    版主