2015-10-28 8 views
6

Kennt jemand den Unterschied zwischen den beiden Funkenkernartefakten? Beide unterstützen Spark bis Version 1.5.1. Allerdings habe ich den gleichen Fehler bei der Verwendung von spark-core_2.11 in meiner Java-Anwendung und versuche, eine Verbindung zum Standalone-Cluster (Spark-1.5.1) mit der Spark-URL (funke: // masterIP: Port)Funkenunterschied zwischen maven Artefakten spark-core_2.10 und spark-core_2.11

herzustellen
WARN ReliableDeliverySupervisor: Association with remote system [akka.tcp://[email protected]:7077] has failed, address is now gated for [5000] ms. Reason: [Disassociated] 
ERROR SparkUncaughtExceptionHandler: Uncaught exception in thread Thread[appclient-registration-retry-thread,5,main] 

Der Master meldet sich auch ein compability Problem in seine Protokolle:

ERROR Remoting: org.apache.spark.deploy.DeployMessages$RegisterApplication; local class incompatible: stream classdesc serialVersionUID = 352674063933172066, local class serialVersionUID = -5495080032843259921 
java.io.InvalidClassException: org.apache.spark.deploy.DeployMessages$RegisterApplication; local class incompatible: stream classdesc serialVersionUID = 352674063933172066, local class serialVersionUID = -5495080032843259921 
    at java.io.ObjectStreamClass.initNonProxy(ObjectStreamClass.java:621) 
    at java.io.ObjectInputStream.readNonProxyDesc(ObjectInputStream.java:1623) 
    at java.io.ObjectInputStream.readClassDesc(ObjectInputStream.java:1518) 
    at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1774) 
    at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1351) 
    at java.io.ObjectInputStream.readObject(ObjectInputStream.java:371) 
    at akka.serialization.JavaSerializer$$anonfun$1.apply(Serializer.scala:136) 
    at scala.util.DynamicVariable.withValue(DynamicVariable.scala:57) 
    at akka.serialization.JavaSerializer.fromBinary(Serializer.scala:136) 
    at akka.serialization.Serialization$$anonfun$deserialize$1.apply(Serialization.scala:104) 
    at scala.util.Try$.apply(Try.scala:161) 
    at akka.serialization.Serialization.deserialize(Serialization.scala:98) 
    at akka.remote.serialization.MessageContainerSerializer.fromBinary(MessageContainerSerializer.scala:63) 
    at akka.serialization.Serialization$$anonfun$deserialize$1.apply(Serialization.scala:104) 
    at scala.util.Try$.apply(Try.scala:161) 
    at akka.serialization.Serialization.deserialize(Serialization.scala:98) 
    at akka.remote.MessageSerializer$.deserialize(MessageSerializer.scala:23) 
    at akka.remote.DefaultMessageDispatcher.payload$lzycompute$1(Endpoint.scala:58) 
    at akka.remote.DefaultMessageDispatcher.payload$1(Endpoint.scala:58) 
    at akka.remote.DefaultMessageDispatcher.dispatch(Endpoint.scala:76) 
    at akka.remote.EndpointReader$$anonfun$receive$2.applyOrElse(Endpoint.scala:935) 
    at akka.actor.Actor$class.aroundReceive(Actor.scala:467) 
    at akka.remote.EndpointActor.aroundReceive(Endpoint.scala:411) 
    at akka.actor.ActorCell.receiveMessage(ActorCell.scala:516) 
    at akka.actor.ActorCell.invoke(ActorCell.scala:487) 
    at akka.dispatch.Mailbox.processMailbox(Mailbox.scala:238) 
    at akka.dispatch.Mailbox.run(Mailbox.scala:220) 
    at akka.dispatch.ForkJoinExecutorConfigurator$AkkaForkJoinTask.exec(AbstractDispatcher.scala:397) 
    at scala.concurrent.forkjoin.ForkJoinTask.doExec(ForkJoinTask.java:260) 
    at scala.concurrent.forkjoin.ForkJoinPool$WorkQueue.runTask(ForkJoinPool.java:1339) 
    at scala.concurrent.forkjoin.ForkJoinPool.runWorker(ForkJoinPool.java:1979) 
    at scala.concurrent.forkjoin.ForkJoinWorkerThread.run(ForkJoinWorkerThread.java:107) 

bei der Verwendung von Funken core_2.10 alles funktioniert.

+0

Der einzige Unterschied ist die Scala Version denke ich. – Tunaki

Antwort

6

Dieser Fehler ist auf einen Konflikt mit der Scala-Version zurückzuführen.

Spark ist für scala 2.10.x und Spark 2.11.x kompiliert, wenn Sie Scala 2.10 verwenden möchten, und natürlich, wenn es in Ihrer Umgebung installiert ist, benötigen Sie die spark-core_2.10 und spark-core_2.11 für Scala 2.11.

PS: An einem bestimmten Punkt, denke ich, es für scala auch betrug 2,9

+0

Ich verstehe. So kommt Spark 1.5.1 nur mit scala 2.10? Als zumindest das ist, was sie unter http://spark.apache.org/downloads.html empfehlen – user5490570

+0

Überhaupt nicht! Aber Sie könnten nur Scala 2.10 in Ihrer Umgebung installiert haben. Hier ist ein Tipp, Sie können jede verfügbare Version aller Spark-Bibliotheken [hier] (http://mvnrepository.com/artifact/org.apache.spark) überprüfen. Ich rate dir, dies immer im Auge zu behalten, wenn du mit Abhängigkeiten arbeitest. – eliasah

+0

Nun, aber wir benutzen nur die Scala, die mit der Funke-Prebuild-Distribution geliefert wird, wenn ich nicht etwas vermassle. Wenn ich also scala.xml.MetaData verwenden möchte, muss ich die Abhängigkeit scala-xml-2.11.0-M4 hinzufügen. Das bedeutet, dass ich das Spark-Source-Paket herunterladen und gegen scala 2.11 aufbauen muss, anstatt das Prebuild zu verwenden? http://spark.apache.org/docs/latest/building-spark.html#building-for-scala-211 Ist das korrekt? – user5490570

Verwandte Themen