2014-11-19 13 views
6

Im Versuch, Spark-& Elasticsearch Integration in scala, wie beschrieben in Elasticsearch GuideSpark-Streaming Elasticsearch Abhängigkeiten

Ich habe Probleme mit Abhängigkeiten beim Kompilieren:

[trace] Stack trace suppressed: run last *:update for the full output. 
[error] (*:update) sbt.ResolveException: unresolved dependency: cascading#ing-local;2.5.6: not found 
[error] unresolved dependency: clj-time#clj-time;0.4.1: not found 
[error] unresolved dependency: compojure#compojure;1.1.3: not found 
[error] unresolved dependency: hiccup#hiccup;0.3.6: not found 
[error] unresolved dependency: ring#ring-devel;0.3.11: not found 
[error] unresolved dependency: ring#ring-jetty-adapter;0.3.11: not found 
[error] unresolved dependency: com.twitter#carbonite;1.4.0: not found 
[error] unresolved dependency: cascading#cascading-hadoop;2.5.6: not found 
[error] Total time: 86 s, completed 19 nov. 2014 08:42:58 

Aussehen Meiner build.sbt Datei wie diese

name := "twitter-sparkstreaming-elasticsearch" 

version := "0.0.1" 

scalaVersion := "2.10.4" 

// additional libraries 
libraryDependencies ++= Seq(
    "org.apache.spark" %% "spark-core" % "1.1.0", 
    "org.apache.spark" %% "spark-streaming" % "1.1.0", 
    "org.apache.spark" %% "spark-streaming-twitter" % "1.1.0", 
    "org.elasticsearch" % "elasticsearch-hadoop" % "2.1.0" 
) 

Hilfe? danke.

Antwort

0

"org.elasticsearch" % "elasticsearch-hadoop" % "2.1.0" ist noch nicht verfügbar. Sie können hier "org.elasticsearch" % "elasticsearch-hadoop" % "2.1.0.Beta2"

prüfen verwenden:

EDIT1

Auch nach "org.elasticsearch" % "elasticsearch-hadoop" % "2.1.0.Beta2" mit ich auch den gleichen Fehler:

[info] Resolving org.fusesource.jansi#jansi;1.4 ... 
[warn] :::::::::::::::::::::::::::::::::::::::::::::: 
[warn] ::   UNRESOLVED DEPENDENCIES   :: 
[warn] :::::::::::::::::::::::::::::::::::::::::::::: 
[warn] :: cascading#cascading-local;2.5.6: not found 
[warn] :: clj-time#clj-time;0.4.1: not found 
[warn] :: compojure#compojure;1.1.3: not found 
[warn] :: hiccup#hiccup;0.3.6: not found 
[warn] :: ring#ring-devel;0.3.11: not found 
[warn] :: ring#ring-jetty-adapter;0.3.11: not found 
[warn] :: com.twitter#carbonite;1.4.0: not found 
[warn] :: cascading#cascading-hadoop;2.5.6: not found 
[warn] :::::::::::::::::::::::::::::::::::::::::::::: 
[trace] Stack trace suppressed: run last *:update for the full output. 
[error] (*:update) sbt.ResolveException: unresolved dependency: cascading#cascading-local;2.5.6: not found 
[error] unresolved dependency: clj-time#clj-time;0.4.1: not found 
[error] unresolved dependency: compojure#compojure;1.1.3: not found 
[error] unresolved dependency: hiccup#hiccup;0.3.6: not found 
[error] unresolved dependency: ring#ring-devel;0.3.11: not found 
[error] unresolved dependency: ring#ring-jetty-adapter;0.3.11: not found 
[error] unresolved dependency: com.twitter#carbonite;1.4.0: not found 
[error] unresolved dependency: cascading#cascading-hadoop;2.5.6: not found 
[error] Total time: 41 s, completed Nov 19, 2014 8:44:04 PM 

Meine build.sbt wie folgt aussieht

name := "twitter-sparkstreaming-elasticsearch" 

version := "0.0.1" 

scalaVersion := "2.10.4" 

// additional libraries 
libraryDependencies ++= Seq(
    "org.apache.spark" %% "spark-core" % "1.1.0", 
    "org.apache.spark" %% "spark-streaming" % "1.1.0", 
    "org.apache.spark" %% "spark-streaming-twitter" % "1.1.0", 
    "org.elasticsearch" % "elasticsearch-hadoop" % "2.1.0.Beta2", 
    "org.elasticsearch" % "elasticsearch-hadoop-cascading" % "2.1.0.Beta2" 
) 

resolvers += "sonatype-oss" at "http://oss.sonatype.org/content/repositories/snapshots" 

resolvers += "Typesafe Repo" at "http://repo.typesafe.com/typesafe/releases/" 
1

verwenden, das ist, weil Kaskadierung und seine Abhängigkeiten sind nicht in Maven. Sie müssen Resolvern hinzufügen, um sie zu bekommen

diese Zeile in Ihre build.sbt

resolvers += "conjars.org" at "http://conjars.org/repo" 

Ihre build.sbt sollte wie folgt aussehen:

name := "twitter-sparkstreaming-elasticsearch" 

version := "0.0.1" 

scalaVersion := "2.10.4" 

// additional libraries 
libraryDependencies ++= Seq(
    "org.apache.spark" %% "spark-core" % "1.1.0", 
    "org.apache.spark" %% "spark-streaming" % "1.1.0", 
    "org.apache.spark" %% "spark-streaming-twitter" % "1.1.0", 
    "org.elasticsearch" % "elasticsearch-hadoop" % "2.1.0" 
) 

resolvers += "conjars.org" at "http://conjars.org/repo" 

Hinweis: Dieses Problem wurde hier angehoben und geschlossen https://github.com/elasticsearch/elasticsearch-hadoop/issues/304 mit der gleichen Lösung wie oben

0

Für nur Spark Unterstützung, können Sie die minimalistische Binärdatei verwenden. Folgendes libraryDependencies in build.sbt

"org.elasticsearch" % "elasticsearch-spark_2.10" % "2.1.0.Beta3" 

Hinweis hinzufügen: '2.10' bezieht sich auf die kompatible Scala-Version!

Und entfernen

"org.elasticsearch" % "elasticsearch-hadoop" % "2.1.0.Beta3" 

Dies wird den ungelösten deps in der Frage aufgeführt vermeiden.

7

Sbt kann einige Abhängigkeiten nicht auflösen, da sie nicht Teil des Maven-Repositorys sind. Sie können sie jedoch auf clojars und conjars finden. Sie müssen die folgenden Zeilen hinzufügen, so sbt sie lösen können:

resolvers += "clojars" at "https://clojars.org/repo" 
resolvers += "conjars" at "http://conjars.org/repo" 

Auch die Abhängigkeit Elasticsearch-hadoop "2.1.0" existiert nicht (? Noch) nicht, sollten Sie „2.1.0 verwenden. Beta4" (oder was auch immer die neueste Version ist, wenn Sie diese Zeilen lesen)

Ihre sbt-Datei sollte wie folgt aussehen:

name := "twitter-sparkstreaming-elasticsearch" 

version := "0.0.1" 

scalaVersion := "2.10.4" 

libraryDependencies ++= Seq(
    "org.apache.spark" %% "spark-core" % "1.1.0", 
    "org.apache.spark" %% "spark-streaming" % "1.1.0", 
    "org.apache.spark" %% "spark-streaming-twitter" % "1.1.0", 
    "org.elasticsearch" % "elasticsearch-hadoop" % "2.1.0.Beta4" 
) 

resolvers += "clojars" at "https://clojars.org/repo" 
resolvers += "conjars" at "http://conjars.org/repo" 

Dieses getestet wurde (mit Funken Kern 1.3.1 und ohne Funken Streaming aber es sollte für dich funktionieren). Hoffe es hilft.