6

Mein OS ist OS X 10.11.6. Ich benutze Spark 2.0, Zeppelin 0.6, Scala 2.11com.fasterxml.jackson.databind.JsonMappingException: Jackson-Version ist zu alt 2.5.3

Wenn ich diesen Code in Zeppelin laufen lasse, bekomme ich eine Ausnahme von Jackson. Wenn ich diesen Code in Spark-Shell ausführen - keine Ausnahme.

val filestream = ssc.textFileStream("/Users/davidlaxer/first-edition/ch06") 

com.fasterxml.jackson.databind.JsonMappingException: Jackson version is too old 2.5.3 
    at com.fasterxml.jackson.module.scala.JacksonModule$class.setupModule(JacksonModule.scala:56) 
    at com.fasterxml.jackson.module.scala.DefaultScalaModule.setupModule(DefaultScalaModule.scala:19) 
    at com.fasterxml.jackson.databind.ObjectMapper.registerModule(ObjectMapper.java:651) 
    at org.apache.spark.rdd.RDDOperationScope$.<init>(RDDOperationScope.scala:82) 
    at org.apache.spark.rdd.RDDOperationScope$.<clinit>(RDDOperationScope.scala) 
    at org.apache.spark.streaming.StreamingContext.withNamedScope(StreamingContext.scala:273) 
    at org.apache.spark.streaming.StreamingContext.textFileStream(StreamingContext.scala:413) 
    ... 51 elided 

Die Abhängigkeit reduzierte-pom.xml in funken Kern zeigt Version 2.6.5

<dependency> 
     <groupId>com.fasterxml.jackson.core</groupId> 
     <artifactId>jackson-databind</artifactId> 
     <version>2.6.5</version> 
     <scope>compile</scope> 
    </dependency> 

Die Version von Maven ist:

David-Laxers-MacBook-Pro:2.5.3 davidlaxer$ mvn -version 
Apache Maven 3.3.9 (bb52d8502b132ec0a5a3f4c09453c07478323dc5; 2015-11-10T08:41:47-08:00) 
Maven home: /opt/local/share/java/maven3 
Java version: 1.8.0_05, vendor: Oracle Corporation 
Java home: /Library/Java/JavaVirtualMachines/jdk1.8.0_05.jdk/Contents/Home/jre 
Default locale: en_US, platform encoding: UTF-8 
OS name: "mac os x", version: "10.11.6", arch: "x86_64", family: "mac" 

Die Java-Version ist:

David-Laxers-MacBook-Pro:2.5.3 davidlaxer$ java -version 
java version "1.8.0_05" 
Java(TM) SE Runtime Environment (build 1.8.0_05-b13) 
Java HotSpot(TM) 64-Bit Server VM (build 25.5-b02, mixed mode) 

Zeppelin wurde mit dem fol gebaut gende Parameter:

$ mvn clean package -Pspark-2.0 -Phadoop-2.4 -Pyarn -Ppyspark -Psparkr -Pscala-2.11 -DskipTests 

den Abhängigkeitsbaum in Zeppelin und in funkenreißend zeigte alle Jackson-databind Referenzen als 2.6.5.

$ mvn dependency:tree -Dverbose 
shows [INFO] +- com.fasterxml.jackson.core:jackson-databind:jar:2.6.5:compile 

Ich habe versucht, zu löschen ~/.m2/repository/com/fasterxml und Wiederaufbau Funken und Zeppelin.

Hier ist mein $ PATH:

David-Laxers-MacBook-Pro:~ davidlaxer$ !e 
echo $PATH 
/Users/davidlaxer/.sdkman/candidates/springboot/current/bin:/Users/davidlaxer/.jenv/shims:/Users/davidlaxer/.jenv/bin:/Developer/NVIDIA/CUDA-6.5/bin:/usr/local/lib/erlang/erts-5.9.1/bin:/users/davidlaxer/anaconda/bin:/users/davidlaxer/anaconda/bin/bin:/opt/local/Library/Frameworks/Python.framework/Versions/2.7/bin:/opt/local/bin:/opt/local/sbin:/usr/local/lib/erlang/erts-5.9.1/bin:/users/davidlaxer/anaconda/bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/opt/X11/bin:/usr/local/CrossPack-AVR/bin:/usr/local/git/bin:/usr/texbin::/opt/local/bin/scala/bin::/usr/local/hadoop/bin:/usr/local/hadoop/sbin:/Users/davidlaxer/pig-0.13.0-src/bin:/Users/davidlaxer/pig-0.13.0-src/sbin:/Users/davidlaxer/Downloads/apache-maven-3.2.1/bin:/Users/davidlaxer/anaconda/bin/bin::/usr/local/hadoop/bin:/usr/local/hadoop/sbin:/Users/davidlaxer/.rvm/bin:/Library/Frameworks/JRuby.framework/Versions/Current/bin:/usr/local/gradle-source-build/bin:/Users/davidlaxer/bin:/Users/davidlaxer/storm/bin:/usr/bin:/usr/sbin:/Users/davidlaxer/spark/bin:/Library/PostgreSQL/9.4/bin:/usr/local/mysql/bin 

Irgendwelche Ideen, warum Ich empfange Version 2.5.3?

Antwort

4

Das Ersetzen der Jacksons (Version 2.5.x) in './zeppelin-zengine/target/lib/' und './zeppelin-server/target/lib/' mit der folgenden Version wird das Problem lösen.

jackson-databind-2.6.5.jar jackson-Core-2.6.5.jar jackson-Annotationen-2.6.5.jar

+0

Ok. Ich werde es versuchen. Inzwischen bin ich zu Spark 1.6 und Zeppelin 0.56 zurückgekehrt. Ich erhalte: com.fasterxml.jackson.databind.JsonMappingException: Die Erstellereigenschaft mit dem Namen 'id' (in der Klasse org.apache.spark.rdd.RDDOperationScope) konnte nicht gefunden werden. um [Source: {"id": "0 "," Name ":" Textdateistrom "}; Zeile: 1, Spalte: 1] Ist das das gleiche Problem? – dbl001

+0

Was verursacht mvn, die älteren Gläser zu installieren? – dbl001

+0

Führen Sie nach dem Ersetzen der .jar-Dateien in beiden Verzeichnissen den Befehl mvn erneut aus? Z.B. mvn clean package -Pspark-1.6 -Phadoop-2.6 -DskipTests -Dhadoop.version = 2.6.4 – dbl001

0

können Sie $ SPARK_HOME/Glas/jackson-databind-2.6 verwenden .5.jar jackson-core-2.6.5.jar jackson-annotations-2.6.5.jar zum Ersetzen der alten Version jars ofr $ ZEPPELIN_HOME/lib