1

我是萨摩亚和风暴的初学者。我正在为一个大学项目学习萨摩亚。我读到要使用 Samoa,我必须使用 SPE(流处理引擎),例如 Storm。

所以,我按照Apache Samoa官方网站上的步骤,在命令行中输入了这个:

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

cd incubator-samoa

mvn -Pstorm package

然后,在安装之后(所有测试结果都是 'SUCCESS'),我按照其他指南安装 Storm 和 Zookeeper:http ://www.tutorialspoint.com/apache_storm/apache_storm_installation.htm 。一切似乎都很好。

然后,我继续遵循 Samoa 的指南,直到“入门”部分,其中有一个示例。在这里我遇到了问题。我下载了示例数据集并将其解压缩,正如它所描述的那样,然后我尝试按照指南运行 Samoa:

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:抱歉有任何错误(包括格式错误!),但我是这个领域的新手(即使在 StackOverflow 中!):)

提前致谢。

4

1 回答 1

0

请确保您的集群和所有库依赖项都在同一版本上。Storm 1.0 更改了包名称,因此依赖 Storm 核心作为提供库的代码将失败。如果风暴集群是.10,所有代码都应该使用。10 如果是 1.0,那么所有代码​​都应该在 1.0 上

于 2016-05-19T15:16:04.790 回答