2015-03-30 14 views
20

ich ein Problem, wenn ich sbt verwendet einen Funken Job ausgeführt werden soll, ich beende Kompilierung, aber wenn ich den Befehl run laufen, habe ich das Problem unter(run-main-0) java.lang.NoSuchMethodError

[error] (run-main-0) java.lang.NoSuchMethodError: scala.collection.immutable.HashSet$.empty()Lscala/collection/immutable/HashSet; 
java.lang.NoSuchMethodError: scala.collection.immutable.HashSet$.empty()Lscala/collection/immutable/HashSet; 
    at akka.actor.ActorCell$.<init>(ActorCell.scala:305) 
    at akka.actor.ActorCell$.<clinit>(ActorCell.scala) 
    at akka.actor.RootActorPath.$div(ActorPath.scala:152) 
    at akka.actor.LocalActorRefProvider.<init>(ActorRefProvider.scala:465) 
    at akka.remote.RemoteActorRefProvider.<init>(RemoteActorRefProvider.scala:124) 
    at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) 
    at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:62) 
    at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45) 
    at java.lang.reflect.Constructor.newInstance(Constructor.java:422) 
    at akka.actor.ReflectiveDynamicAccess$$anonfun$createInstanceFor$2.apply(DynamicAccess.scala:78) 
    at scala.util.Try$.apply(Try.scala:191) 

Wer weiß, was soll ich tun?

+0

Was ist Ihre Version von Funken und scala? Meine erste Vermutung wäre, dass die scala Versionen sind unpassend. –

+0

@JustinPihony Danke für deine Hilfe, meine scala Version 2.10.5 und Funken Version ist 1.3.0, können Sie mir sagen, wie, ob das scala Spiel zu beurteilen, oder nicht? – zhang

Antwort

20

Ich traf mit dem gleichen Fehler, wenn ich Scala-Bibliothek-2.11 Glas verwendet, aber wenn ich es mit Scala-Bibliothek-2.10 Glas ersetzt. Es läuft gut

6

Ich habe diese Versionen und alles funktioniert jetzt.

<dependency> 
     <groupId>org.scala-lang</groupId> 
     <artifactId>scala-library</artifactId> 
     <version>2.11.6</version> 
    </dependency> 

    <dependency> 
     <groupId>com.typesafe.akka</groupId> 
     <artifactId>akka-actor_2.11</artifactId> 
     <version>2.3.11</version> 
    </dependency> 
8

Es wird wahrscheinlich durch Verwendung von inkompatiblen Versionen von Scala verursacht. Als ich von Scala 2.11 auf 2.10 herabgestuft habe, habe ich vergessen, eine Paketversion zu modifizieren (also ein Paket 2.11, den Rest 2.10), was dazu führte, dass derselbe Fehler auftrat.

Hinweis: Ich hatte dieses Problem nur bei Verwendung von IntelliJ.

0

Ich habe genau das gleiche Problem und habe es behoben, indem ich scala 2.11.8 auf 2.10.6 heruntergestuft habe.

1

Das Problem konnte mit der Version 2.11.8 reproduziert werden.

Im Moment ist kein Downgrade erforderlich. Aktualisieren Sie einfach Version auf 2.12.0.

0

Ich habe das gleiche Problem, aber wo ändere ich die Scala-Bibliothek-Version?

Installation (auf Ubuntu 16.04):

sudo apt-get install oracle-java8-installer 
wget http://d3kbcqa49mib13.cloudfront.net/spark-2.0.2-bin-hadoop2.7.tgz && tar xvf spark-2.0.2-bin-hadoop2.7.tgz 
pip install toree && jupyter toree install 

Also, wenn ich mit einem Notebook beginnen sagt es mir, dass ich eine andere scala-Version. Aber ich habe nichts anderes installiert. screenshot + scala version

Meine Funken Gläser Ordner enthält eine scala-library-2.11.8.jar Datei. Aber wie sagt Torree, diese (oder eine andere) Datei für scala zu benutzen?

2

Überprüfen Sie, ob die von Ihnen verwendete scala-Version der vorkompilierten Spark-Version entspricht.

3

Wenn Sie den Fehler erhalten und hier, weil Sie Jupiter-Notebooks mit Spark 2.1 und Scala 2.11 unten nicht ausführen können, wie ich es schaffen konnte, funktioniert es. Angenommen, Sie haben Jupiter installiert und

Pre-req - Stellen Sie sicher, dass Docker läuft sonst Make schlägt fehl. Stellen Sie sicher, dass gpg installiert ist.

Build-Schritte -

export SPARK_HOME=/Users/<path>/spark-2.1.0-hadoop2.7/ 
git clone https://github.com/apache/incubator-toree.git 
cd incubator-toree 
make clean release APACHE_SPARK_VERSION=2.1.0 
pip install --upgrade ./dist/toree-pip/toree-0.2.0.dev1.tar.gz 
pip freeze |grep toree 
jupyter toree install --spark_home=$SPARK_HOME 

================================== ======================================

So starten Sie das Notebook - SPARK_OPTS = '- Master = local [4]' jupyter Notebook

+0

Link zu Jira Ausgabe: [Toree nicht mit Apache-Funkenarbeits 2.0.0] (https://issues.apache.org/jira/browse/TOREE-336) – ostrokach

Verwandte Themen