首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将Apache萨摩亚与Apache Storm一起使用。第一次运行:"ClassNotFoundException: backtype.storm.topology.TopologyBuilder“

将Apache萨摩亚与Apache Storm一起使用。第一次运行:"ClassNotFoundException: backtype.storm.topology.TopologyBuilder“
EN

Stack Overflow用户
提问于 2016-05-17 01:17:36
回答 1查看 381关注 0票数 1

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

因此,我遵循了Apache Samoa官方网站上的步骤,并在我的命令行中键入了以下内容:

代码语言:javascript
复制
git clone http://git.apache.org/incubator-samoa.git

cd incubator-samoa

mvn -Pstorm package

然后,在安装之后(所有的测试结果都是‘成功’),我遵循另一个指南来安装暴风和Zookeeper:http://www.tutorialspoint.com/apache_storm/apache_storm_installation.htm。一切似乎都很好。

然后,我继续遵循萨摩亚的指南,直到“入门”部分,其中有一个运行的例子。在这里我遇到了问题。我下载了示例数据集并解压缩,就像上面描述的那样,然后我尝试按照指南运行萨摩亚:

代码语言:javascript
复制
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>",所以我以这种方式修改了命令:

代码语言:javascript
复制
bin/samoa storm target/SAMOA-Storm-0.4.0-incubating-SNAPSHOT.jar "PrequentialEvaluation -l classifiers.ensemble.Bagging -s (ArffFileStream -f covtypeNorm.arff) -f 100000"

但是执行失败了,我得到了以下错误:

代码语言:javascript
复制
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!) :)

提前谢谢。

EN

回答 1

Stack Overflow用户

发布于 2016-05-19 23:16:05

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

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/37259566

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档