【问题标题】:Installing external python package on HDInsight with Azure CLI : RdfeResourceHandlerException使用 Azure CLI 在 HDInsight 上安装外部 python 包:RdfeResourceHandlerException
【发布时间】:2018-09-13 19:27:33
【问题描述】:

我想在 MS Azure HDInsight 集群上安装 pyobdc python 包,以用于 pyspark 作业。 在this 之后,我试图通过“脚本操作”来完成这项工作。 bash 脚本是:

#!/usr/bin/env bash
sudo /usr/bin/anaconda/bin/conda install pyodbc

在选项中,可以使用 Web 界面(Azure 门户)或 CLI 命令行 (doc) 提交脚本操作。在 Web 界面中,提交选项被禁用,并显示“当前集群操作完成后可以提交新的脚本操作。”信息。我不知道这个集群操作是什么。

我尝试使用 CLI 命令行:

$ azure hdinsight script-action create my_cluster_name -g my_resource_group -n ipyodbc -u adl://my_data_lake_store.azuredatalakestore.net/clusters/scripts/script_actions/install_pyodbc.sh -t headnode;workernode

失败:

信息:执行命令 hdinsight script-action create /error:
类型异常 'Microsoft.ClusterServices.RDFEProvider.ResourceTypes.Models.RdfeResourceHandlerException' 被抛出。 -error: 错误信息已记录到/home/myself/.azure/azure.err error: hdinsight script-action create 命令失败

我尝试使用公共 uri(保管箱)更改脚本位置,但遇到了同样的错误。 任何帮助或解决方法将不胜感激! 干杯!

【问题讨论】:

    标签: azure azure-hdinsight


    【解决方案1】:

    我还收到了模棱两可的错误“Microsoft.ClusterServices.RDFEProvider.ResourceTypes.Models.RdfeResourceHandlerException”。

    在我的情况下,这是由于命令中没有包含 conda 的路径,而只是使用 conda 而不是 /usr/bin/anaconda/bin/conda

    您可能会尝试通过两件事来解决您的问题:

    • 删除 sudo,您不需要在 custer 上执行命令并可能提示输入密码。
    • 将 -y 开关添加到命令中,例如/usr/bin/anaconda/bin/conda install -y pyodbc 这会阻止提示

    我的假设是 hdinsight script-action create 命令不喜欢被阻止,如果它被卡住,它会返回这个无意义的信息以及我可以找到(或无法)未记录的错误。

    【讨论】:

    • 感谢詹姆斯的提醒。当时我改变了我的工作流程设计以避免在 HDInsight 上部署额外的包。我尝试了几种方法和命令变体。不幸的是,我不再参与该项目,因此无法检查。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-02-05
    • 1970-01-01
    • 1970-01-01
    • 2018-06-10
    • 1970-01-01
    • 1970-01-01
    • 2019-04-15
    相关资源
    最近更新 更多