我正试图让storm-starter起作用。我尝试了邮件列表,这似乎没有获得牵引力。当我运行以下内容时:
$ mvn compile exec:java -Dstorm.topology=storm.starter.ExclamationTopology
我得到error:
Error on initialization of server mk-worker
java.lang.RuntimeException: java.lang.ClassNotFoundException: backtype.storm.testing.TestWordSpout
我不是java开发人员,因此我不确定导入应该如何工作。我确实看到了storm-core/src/jvm/backtype/storm/testing/TestWordSpout.java
。
当我找到任何jar文件时,我看到:
./target/original-storm-starter-0.11.0-SNAPSHOT.jar
./target/storm-starter-0.11.0-SNAPSHOT.jar
当我检查这些jar文件时,TestWordSpout
不存在。我按照上面链接的文档从./examples/storm-starter
运行我的命令。
据我所知,我完全按照教程进行操作。 OSX El Capitan 10.11.2,Java 1.8.0,Storm 0.9.5。,Maven 3.3.3。任何帮助都会很棒;我很高兴能够开始:)
答案 0 :(得分:0)
通过maven运行Storm拓扑不是一种可行的方法。您应该在命令行上使用bin/storm jar myJarFile.jar
向集群提交拓扑(这也适用于本地模式)。
文件./target/original-storm-starter-0.11.0-SNAPSHOT.jar
和./target/storm-starter-0.11.0-SNAPSHOT.jar
是标准的maven工件,不能用于向群集提交拓扑。
您可以使用maven-jar-plugin
(我建议您开始使用) - 您可能需要使用maven-dependency-plugin, too),
maven-assembly-plugin , or
maven-shade-plugin {{1}提交的jar文件。有很多关于这个问题的问题,所以我不会在这里提供更多细节。举个例子,你可以看一下https://github.com/mjsax/aeolus/blob/master/monitoring/pom.xml的我的git存储库