方案:Azure HDInsight 中 Apache Spark 活动的 IllegalArgumentException

本文介绍在 Azure HDInsight 群集中使用 Apache Spark 组件时出现的问题的故障排除步骤和可能的解决方案。

问题

尝试在 Azure 数据工厂管道中执行 Spark 活动时,收到以下异常:

Exception in thread "main" java.lang.IllegalArgumentException:
Wrong FS: wasbs://additional@xxx.blob.core.chinacloudapi.cn/spark-examples_2.11-2.1.0.jar, expected: wasbs://wasbsrepro-2017-11-07t00-59-42-722z@xxx.blob.core.chinacloudapi.cn

原因

如果应用程序 jar 文件不在 Spark 群集的默认/主存储中,Spark 作业将失败。

这是在此 bug 中跟踪的 Spark 开源框架的一个已知问题:如果 fs.defaultFS 和应用程序 jar 是不同的 URL,Spark 作业将失败

此问题已在 Spark 2.3.0 中解决。

解决方法

请确保将应用程序 jar 存储在 HDInsight 群集的默认/主存储上。 在 Azure 数据工厂中,确保 ADF 链接服务指向 HDInsight 默认容器而不是辅助容器。

后续步骤

如果你的问题未在本文中列出,或者无法解决问题,请访问以下渠道之一获取更多支持:

  • 如果需要更多帮助,可以从 Azure 门户提交支持请求。 从菜单栏中选择“支持” ,或打开“帮助 + 支持” 中心。