使用Azure CLI在HDInsight上安装外部python包:RdfeResourceHandlerException

时间:2018-03-28 15:18:56

标签: azure hdinsight

我想在MS Azure HDInsight群集上安装pyobdc python包,以便在pyspark作业中使用。 在this之后,我尝试使用"脚本操作"来完成此操作。 bash脚本是:

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

在选项中,可以使用Web界面(azure portal)或CLI命令行(doc)提交脚本操作。在Web界面中,使用info&#34停用提交选项;可以在当前群集操作完成后提交新脚本操作。"。我不知道这个集群操作是什么。

我尝试使用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

失败了:

  

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

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

1 个答案:

答案 0 :(得分:0)

我也收到了模棱两可的错误“ 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命令不喜欢被阻止,如果卡住,它将返回该无效信息,并从我可以发现(或无法发现)的未记录错误中返回。