Hadoop 2.4.0 зависит от двух разных версий beanutils, что вызывает следующую ошибку с sbt-assembly
:
[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, что подтверждается с помощью Как получить прямой доступ к Ivy, т.е. получить доступ к отчетам о зависимостях или выполнить команды Ivy?
Как сделать sbt-сборку, включающую Hadoop 2.4.0?
ОБНОВЛЕНИЕ: В соответствии с просьбой, вот зависимости 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
необходим, потому что Spark по умолчанию включает Hadoop 1, который конфликтует с Hadoop 2.
build.sbt
со своими зависимостями? - person lpiepiora   schedule 27.06.2014hadoop-yarn-common-2.4.0.jar
. Я думаю, вы могли бы решить их все, но это похоже на путь через ад зависимостей. Возможно, вы могли бы включить его в качестве ссылки на проект, который будет автоматически создан из git. Я видел, что spark можно загрузить как предварительно собранный для hadoop 2, поэтому я сказал, что у них есть поддержка hadoop 2 в процессе сборки, но я думаю, что они не публикуют эту версию в репозитории maven. - person lpiepiora   schedule 29.06.2014