Используйте Apache SAMOA с Apache Storm. Первый запуск: "ClassNotFoundException: backtype.storm.topology.TopologyBuilder"
Я начинающий с Самоа и Шторма. Я изучаю Самоа для проекта Univerisity. Я прочитал, что для использования Самоа я должен использовать SPE (Stream Processing Engine), например, Storm.
Итак, я следовал инструкциям на официальном сайте Apache Samoa и набрал это в своей командной строке:
git clone http://git.apache.org/incubator-samoa.git
cd incubator-samoa
mvn -Pstorm package
Затем, после установки (все результаты теста были "УСПЕХ"), я следовал этому другому руководству по установке Storm и Zookeeper: http://www.tutorialspoint.com/apache_storm/apache_storm_installation.htm. Кажется, все в порядке.
Затем я продолжал следовать руководству Самоа до раздела "Начало работы", в котором приведен ряд примеров. Здесь я столкнулся с проблемами. Я скачал примерный набор данных и разархивировал его, как описано, а затем попытался запустить Самоа, следуя инструкциям:
bin/samoa local target/SAMOA-Local-0.3.0-SNAPSHOT.jar "PrequentialEvaluation -l classifiers.ensemble.Bagging -s (ArffFileStream -f covtypeNorm.arff) -f 100000"
Но, поскольку формат сценария задачи Самоа bin/samoa <platform> <jar> "<task>"
Я изменил команду следующим образом:
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 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
Может кто-нибудь мне помочь?
PS: Извините за любые ошибки (включая ошибки форматирования!), Но я новичок в этой области (даже в Stackru!):)
Заранее спасибо.
1 ответ
Пожалуйста, убедитесь, что ваш кластер и все зависимости библиотеки имеют одинаковую версию. Storm 1.0 изменил имена пакетов, поэтому код, который опирается на ядро Storm в качестве предоставленной библиотеки, не будет работать Если грозовой кластер равен 10, весь код должен использовать 10, если 1,0, тогда все должно быть на 1,0