加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

scala – Spark应用程序抛出javax.servlet.FilterRegistration

发布时间:2020-12-16 09:30:11 所属栏目:安全 来源:网络整理
导读:我正在使用Scala在本地创建和运行Spark应用程序。 我的build.sbt: name := "SparkDemo"version := "1.0"scalaVersion := "2.10.4"libraryDependencies += "org.apache.spark" %% "spark-core" % "1.2.0" exclude("org.apache.hadoop","hadoop-client")libra
我正在使用Scala在本地创建和运行Spark应用程序。

我的build.sbt:

name := "SparkDemo"

version := "1.0"

scalaVersion := "2.10.4"


libraryDependencies += "org.apache.spark" %% "spark-core" % "1.2.0"    exclude("org.apache.hadoop","hadoop-client")

libraryDependencies += "org.apache.spark" % "spark-sql_2.10" % "1.2.0"


libraryDependencies += "org.apache.hadoop" % "hadoop-common" % "2.6.0"  excludeAll(
ExclusionRule(organization = "org.eclipse.jetty"))

libraryDependencies += "org.apache.hadoop" % "hadoop-mapreduce-client-core" % "2.6.0"


libraryDependencies += "org.apache.hbase" % "hbase-client" % "0.98.4-hadoop2"

libraryDependencies += "org.apache.hbase" % "hbase-server" % "0.98.4-hadoop2"

libraryDependencies += "org.apache.hbase" % "hbase-common" % "0.98.4-hadoop2"

mainClass in Compile := Some("demo.TruckEvents")

在运行时我得到异常
线程中的异常“main”java.lang.ExceptionInInitializerError
在打电话时…
导致:java.lang.SecurityException:类“javax.servlet.FilterRegistration”的签名者信息与同一个包中的其他类的签名者信息不匹配

此处触发例外:

val sc = new SparkContext("local","HBaseTest")

我正在使用IntelliJ Scala / SBT插件。

我已经看到其他人也有这个问题suggestion solution.但这是一个maven构建….我的sbt错误在这里? – 还是其他建议如何解决这个问题?
谢谢。

解决方法

看到我的答案类似的问题 here.类冲突是因为HBase依赖于org.mortbay.jetty,而Spark依赖于org.eclipse.jetty。我能够通过从HBase中排除org.mortbay.jetty依赖关系来解决问题。

如果您正在拉入hadoop-common,那么您可能还需要从hadoop-common中排除javax.servlet。我有一个工作的HBase / Spark设置,我的sbt依赖关系设置如下:

val clouderaVersion = "cdh5.2.0"
val hadoopVersion = s"2.5.0-$clouderaVersion"
val hbaseVersion = s"0.98.6-$clouderaVersion"
val sparkVersion = s"1.1.0-$clouderaVersion"

val hadoopCommon = "org.apache.hadoop" % "hadoop-common" % hadoopVersion % "provided" excludeAll ExclusionRule(organization = "javax.servlet")
val hbaseCommon = "org.apache.hbase" % "hbase-common" % hbaseVersion % "provided"
val hbaseClient = "org.apache.hbase" % "hbase-client" % hbaseVersion % "provided"
val hbaseProtocol = "org.apache.hbase" % "hbase-protocol" % hbaseVersion % "provided"
val hbaseHadoop2Compat = "org.apache.hbase" % "hbase-hadoop2-compat" % hbaseVersion % "provided"
val hbaseServer = "org.apache.hbase" % "hbase-server" % hbaseVersion % "provided" excludeAll ExclusionRule(organization = "org.mortbay.jetty")
val sparkCore = "org.apache.spark" %% "spark-core" % sparkVersion % "provided"
val sparkStreaming = "org.apache.spark" %% "spark-streaming" % sparkVersion % "provided"
val sparkStreamingKafka = "org.apache.spark" %% "spark-streaming-kafka" % sparkVersion exclude("org.apache.spark","spark-streaming_2.10")

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读