我在试着让风暴开始工作。我试过邮件列表,但似乎没有什么吸引力。当我运行以下命令时:
$ mvn compile exec:java -Dstorm.topology=storm.starter.ExclamationTopology
我得到一个错误:
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。任何帮助都是很好的;我很高兴能够开始:)
1条答案
按热度按时间dm7nw8vv1#
通过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程序集插件, or
maven shade插件to assembly a correct
提交的jar文件。关于这个问题有很多疑问,所以我将不在这里提供更多细节。例如,您可以查看我的git存储库https://github.com/mjsax/aeolus/blob/master/monitoring/pom.xml