在Cloudera VM中使用spark2-submit运行Scala jar文件时获得不支持的ClassVersion



我正在尝试从这里运行一个 Scala 项目,该项目涉及使用单个节点本地安装的 Cloudera VM 中的 Azure 事件中心。我正在使用 CDH 5.10。我使用 sbt 0.13.15 构建了 jar 文件,它使用 Openjdk 1.8.0。此外,Oracle Jdk 1.8 安装在我的 VM 中,我认为在运行 jar 文件时,它被 spark2 使用。VM 最初没有 Spark2。我使用 Cloudera Manager 5.11 升级了它。

项目运行后出现以下错误:

java.lang.UnsupportedClassVersionError: com/microsoft/azure/eventhubs/EventData : Unsupported major.minor version 52.0

我认为提交作业后控制台中显示的错误,然后代码挂起。 我在构建 jar 时强制将 jvm 版本设为 1.8。我的完整版本.sbt-

name := "AzureGeoLogProject"
version := "1.0"
scalaVersion := "2.11.8"
libraryDependencies += "org.scala-lang" % "scala-library" % "2.11.8"
libraryDependencies += "com.microsoft.azure" % "spark-streaming-eventhubs_2.11" % "2.0.3"
libraryDependencies += "org.apache.spark" % "spark-core_2.11" % "2.0.2"
libraryDependencies += "org.apache.spark" % "spark-sql_2.11" % "2.0.2"
libraryDependencies +=  "org.apache.spark" % "spark-streaming_2.11" % "2.0.2"
libraryDependencies += "org.apache.httpcomponents" % "httpclient" % "4.2.5"
libraryDependencies += "com.typesafe" % "config" % "1.3.1"
scalacOptions += "-target:jvm-1.8"

我用谷歌搜索了错误,但一无所获。不知道如何从这里开始。任何建议将不胜感激。

sudo alternatives --config java

出现提示时,选择 java(jre) 1.8 并重试

最新更新