2015-10-28 11 views
6

के बीच स्पार्क अंतर क्या किसी को दो स्पार्क कोर कलाकृतियों के बीच अंतर पता है? दोनों समर्थन संस्करण 1.5.1 तक स्पार्क करें। हालांकि, मैं अपने जावा एप्लिकेशन में स्पार्क-कोर_2.11 का उपयोग करते समय एक ही त्रुटि के साथ समाप्त होता हूं और स्पार्क यूआरएल (स्पार्क: // मास्टरआईपी: पोर्ट)मेवेन आर्टिफैक्ट्स स्पार्क-कोर_2.10 और स्पार्क-कोर_2.11

के साथ स्टैंडअलोन क्लस्टर (स्पार्क-1.5.1) से कनेक्ट करने का प्रयास करता हूं
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] 

मास्टर भी अपने लॉग में एक compability समस्या लॉग:

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) 

का उपयोग करते समय चिंगारी core_2.10 सब कुछ ठीक काम करता है।

+0

के लिए भी उपलब्ध था। स्केल संस्करण मुझे लगता है कि केवल अंतर ही है। – Tunaki

उत्तर

6

यह त्रुटियां स्कैला संस्करण के साथ मेल नहीं खाती हैं।

स्पार्क 2.10.x और स्पार्क 2.11.x दोनों के लिए संकलित किया गया है, यदि आप स्कैला 2.10 का उपयोग करना चाहते हैं, और निश्चित रूप से यदि यह आपके एनवी में स्थापित है तो आपको स्पार्क-कोर_2.10 की आवश्यकता होगी, और स्काला 2.11 के लिए स्पार्क-कोर_2.11।

पीएस: एक निश्चित बिंदु पर, मुझे लगता है कि यह स्कैला 2.9

+0

मैं देखता हूं। तो स्पार्क 1.5.1 केवल स्कैला 2.10 के साथ आता है? कम से कम यही वह है जो वे http://spark.apache.org/downloads.html – user5490570

+0

पर अनुशंसा करते हैं! लेकिन आप अपने पर्यावरण में केवल 2.10 स्केल स्थापित कर सकते हैं। यहां एक टिप है, आप सभी स्पार्क पुस्तकालयों [यहां] (http://mvnrepository.com/artifact/org.apache.spark) के प्रत्येक उपलब्ध संस्करण की जांच कर सकते हैं। जब आप निर्भरताओं के साथ काम कर रहे हों तो मैं हमेशा इस पर नजर रखने की सलाह देता हूं। – eliasah

+0

ठीक है, लेकिन हम स्पार्क प्रीबिल्ड वितरण के साथ प्रदान किए गए स्कैला का उपयोग करते हैं, अगर मैं कुछ गड़बड़ नहीं करता हूं। तो जब मैं scala.xml.MetaData का उपयोग करना चाहता हूं, तो मुझे निर्भरता scala-xml-2.11.0-M4 जोड़ने की आवश्यकता है। इसका मतलब है कि मुझे स्पार्क स्रोत पैकेज डाउनलोड करने और प्रीबिल्ड का उपयोग करने के बजाय स्कैला 2.11 के खिलाफ इसे बनाने की आवश्यकता है? http://spark.apache.org/docs/latest/building-spark.html#building-for-scala-211 क्या यह सही है? – user5490570

संबंधित मुद्दे