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

标签 azure azure-hdinsight

我想在 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

失败的原因是:

info: Executing command hdinsight script-action create /error:
Exception of type 'Microsoft.ClusterServices.RDFEProvider.ResourceTypes.Models.RdfeResourceHandlerException' was thrown. -error: Error information has been recorded to /home/myself/.azure/azure.err error: hdinsight script-action create command failed

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

最佳答案

我还收到了不明确的错误“Microsoft.ClusterServices.RDFEProvider.ResourceTypes.Models.RdfeResourceHandlerException”。

就我而言,这是由于在命令中未包含 conda 的路径,而只是使用 conda 而不是 /usr/bin/anaconda/bin/conda

您可以尝试以下两件事来解决您的问题:

  • 删除 sudo,您不需要使用它来在集群上执行命令,并且可能会提示输入密码。
  • 将 -y 开关添加到命令中,例如/usr/bin/anaconda/bin/conda install -y pyodbc 这可以防止出现提示

我的假设是,hdinsight script-action create 命令不喜欢被搁置,如果它被卡住,它会返回此无信息的信息,并且从我能找到(或不能)未记录的内容中错误。

关于azure - 使用 Azure CLI 在 HDInsight 上安装外部 python 包 : RdfeResourceHandlerException,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49538303/

相关文章:

azure - Function App 中表存储的 CRUD 操作

postgresql - pg_dumpall - Azure Database for PostgreSQL - 数据库 "azure_maintenance"的权限被拒绝

Azure Pipelines VSBuild 配置无效

azure - 在Azure中通过.NET应用程序流式传输

azure - 自动化 HDInsight Spark 配置并按计划提交作业?

azure - 使用 Bicep 在 Azure Blob 存储容器上添加 RBAC 角色

linux - 是否可以将 Node.js 应用程序从 Linux 发布到 Azure?

hadoop - 在 hdinsight 配置单元编辑器上使用什么命令连接到特定存储

azure - 选择长期存储/分析系统?

azure - 文件未在 HDInsights 群集中使用 Spark 保存在 Azure blob 中