2016-05-16 4 views
1

Ich bin ein Anfänger mit Samoa und Storm. Ich studiere Samoa für ein Univerisity-Projekt. Ich habe gelesen, dass ich, um Samoa zu benutzen, eine SPE (Stream Processing Engine) wie Storm benutzen muss.Verwenden Sie Apache SAMOA mit Apache Storm. Erster Lauf: "ClassNotFoundException: backtype.storm.topology.TopologyBuilder"

Also, ich die Schritte auf der offiziellen Webseite von Apache Samoa gefolgt und tippte ich in meinem Befehlszeile:

git clone http://git.apache.org/incubator-samoa.git 

cd incubator-samoa 

mvn -Pstorm package 

Dann, nach der Installation (alle Testergebnisse waren ‚Erfolg‘), gefolgt I diese andere Anleitung zum Installieren von Storm und Zookeeper: http://www.tutorialspoint.com/apache_storm/apache_storm_installation.htm. Alles scheint in Ordnung zu sein.

Dann folgte ich weiter dem Leitfaden Samoas bis zum Abschnitt "Erste Schritte", in dem es ein Beispiel gibt. Hier stieß ich auf Probleme. ich der Beispieldatensatz heruntergeladen und entpackt es, wie es beschrieben wird, und dann habe ich versucht, Samoa nach der Führung zu laufen:

bin/samoa local target/SAMOA-Local-0.3.0-SNAPSHOT.jar "PrequentialEvaluation -l classifiers.ensemble.Bagging -s (ArffFileStream -f covtypeNorm.arff) -f 100000" 

Aber da das Format eines Skripts Samoa Aufgabe ist bin/samoa <platform> <jar> "<task>", modifizierte ich den Befehl auf diese Weise:

bin/samoa storm target/SAMOA-Storm-0.4.0-incubating-SNAPSHOT.jar "PrequentialEvaluation -l classifiers.ensemble.Bagging -s (ArffFileStream -f covtypeNorm.arff) -f 100000" 

Aber die Ausführung fehlschlägt, und ich bekomme diese Fehler:

bin/samoa storm target/SAMOA-Storm-0.4.0-incubating-SNAPSHOT.jar "PrequentialEvaluation -l classifiers.ensemble.Bagging -s (ArffFileStream -f covtypeNorm.arff) -f 100000" 
bin/samoa 
Deploying to STORM 
Exception in thread "main" java.lang.NoClassDefFoundError: backtype/storm/topology/TopologyBuilder 
    at org.apache.samoa.topology.impl.StormTopology.<init>(StormTopology.java:40) 
    at org.apache.samoa.topology.impl.StormComponentFactory.createTopology(StormComponentFactory.java:64) 
    at org.apache.samoa.topology.TopologyBuilder.initTopology(TopologyBuilder.java:87) 
    at org.apache.samoa.topology.TopologyBuilder.initTopology(TopologyBuilder.java:71) 
    at org.apache.samoa.tasks.PrequentialEvaluation.setFactory(PrequentialEvaluation.java:193) 
    at org.apache.samoa.topology.impl.StormSamoaUtils.argsToTopology(StormSamoaUtils.java:82) 
    at org.apache.samoa.LocalStormDoTask.main(LocalStormDoTask.java:61) 
Caused by: java.lang.ClassNotFoundException: backtype.storm.topology.TopologyBuilder 
    at java.net.URLClassLoader.findClass(URLClassLoader.java:381) 
    at java.lang.ClassLoader.loadClass(ClassLoader.java:424) 
    at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:331) 
    at java.lang.ClassLoader.loadClass(ClassLoader.java:357) 
    ... 7 more 

mir jemand helfen?

PS: (! Einschließlich Formatierungsfehler) Sorry für die Fehler, aber ich bin neu in diesem Bereich :)

Vielen Dank im Voraus (auch in Stackoverflow!).

+0

Vielleicht ein Versionskonflikt ... In Storm 1.x wurden viele Pakete umbenannt von 'backtype/...' in 'org/Apache/Sturm/... '. –

Antwort

0

Bitte stellen Sie sicher, dass Ihr Cluster und alle Bibliotheksabhängigkeiten auf der gleichen Version sind. Storm 1.0 änderte die Paketnamen, so dass Code, der auf Storm Core angewiesen ist, fehlschlägt. Wenn sturm cluster.10 ist, sollte der gesamte code verwenden.10 if 1.0 dann sollten alle auf 1.0 sein