的Hadoop 2.4.0依赖于两个不同版本的BeanUtils的,与sbt-assembly
引起以下错误:的Hadoop依赖于两个不同版本的BeanUtils的
[error] (*:assembly) deduplicate: different file contents found in the following:
[error] .ivy2/cache/commons-beanutils/commons-beanutils/jars/commons-beanutils-1.7.0.jar:org/apache/commons/beanutils/BasicDynaBean.class
[error] .ivy2/cache/commons-beanutils/commons-beanutils-core/jars/commons-beanutils-core-1.8.0.jar:org/apache/commons/beanutils/BasicDynaBean.class
这些依赖关系两者都是从传递的Hadoop 2.4.0,如确认使用How to access Ivy directly, i.e. access dependency reports or execute Ivy commands?
如何制作包含Hadoop 2.4.0的sbt-assembly?
UPDATE:按照要求,这里是build.sbt依赖性:
libraryDependencies += "org.apache.hadoop" % "hadoop-client" % "2.4.0"
libraryDependencies += "org.apache.spark" %% "spark-core" % "1.0.0" % "provided" exclude("org.apache.hadoop", "hadoop-client")
resolvers += "Akka Repository" at "http://repo.akka.io/releases/"
libraryDependencies += "com.amazonaws" % "aws-java-sdk" % "1.7.8"
libraryDependencies += "commons-io" % "commons-io" % "2.4"
libraryDependencies += "javax.servlet" % "javax.servlet-api" % "3.0.1" % "provided"
libraryDependencies += "com.sksamuel.elastic4s" %% "elastic4s" % "1.1.1.0"
是需要的,因为exclude hadoop
,开箱,火花包括Hadoop的1,其用Hadoop 2.
你可以在你的依赖中添加'build.sbt'吗? – lpiepiora
@lpipiora - 完成了,你可以看看吗? – SRobertJames
问题是,回购中的spark-core是针对Hadoop 1构建的。即使您现在解决了依赖关系问题,您也会遇到下一个问题(我已经测试过)。也许你可以考虑克隆Spark,并建立自己的版本反对Hadoop 2(Spark build似乎支持它) – lpiepiora