2015-04-28 91 views
0

我正在关注https://github.com/apache/storm/tree/master/examples/storm-starter。我在我的VMWare上使用Ubuntu 14.04 LTS。没有问题的java顺利-D storm.topology = storm.starter.RollingTopWords在/家庭/用户/风暴/示例/风暴起动目录:Ubuntu Apache Storm jar错误:无法找到或加载主类storm.starter

我可以运行MVN EXEC键。但是我无法在Apache Storm中运行它。

我在/家庭/用户/风暴/例子/风暴启动目录有风暴起动器拓扑-0.9.3.jar。 我也有风暴起动0.9.3.ja [R & 风暴启动-0.9.3-JAR-与-dependencies.jar在我/家庭/用户/风暴/例子/风暴起动/目标目录。

下面是我在/家庭/用户/风暴/ bin中尝试过的命令目录:

./storm jar storm-starter-*.jar storm.starter.RollingTopWords 

./storm jar storm-starter-0.9.3-jar-with-dependencies.jar storm.starter.RollingTopWords 

./storm jar storm-starter-jar-with-dependencies.jar storm.starter.RollingTopWords 

./storm jar storm-starter-topologies-0.9.3.jar storm.starter.RollingTopWords 

与拓扑名称:

./storm jar storm-starter-0.9.3-jar-with-dependencies.jar storm.starter.RollingTopWords slidingWindowCounts 

./storm jar storm-starter-jar-with-dependencies.jar storm.starter.RollingTopWords slidingWindowCounts 

./storm jar storm-starter-topologies-0.9.3.jar storm.starter.RollingTopWords slidingWindowCounts 

./storm jar storm-starter-0.9.3-jar storm.starter.RollingTopWords slidingWindowCounts 

全部结束了同样的错误: 错误:无法找到或加载主类storm.starter.RollingTopWords。

我所有的类是在/家庭/用户/风暴/例子/风暴起动/目标/班/风暴/起动目录 的RollingTopWords.class出现在该目录中。

我应该如何解决这个问题?详细的解决方案将会有所帮助。

+0

问题解决。出现这个问题的原因是风暴罐在不正确的目录下运行。它应该在/ home/user/storm/examples/storm-starter/target目录下运行,因为我的storm-starter-0.9.3-jar-with-dependencies.jar位于该目录中。 – Toshihiko

回答

1

问题解决。出现这个问题的原因是风暴罐在不正确的目录下运行。它应该在/ home/user/storm/examples/storm-starter/target目录下运行,因为我的storm-starter-0.9.3-jar-with-dependencies.jar位于该目录中。

0

试试这个,假设你是内线强攻根文件夹即你的情况(/home/user/storm/bin

storm jar /path/to/storm-starter-*.jar storm.starter.RollingTopWords <topology-name> remote 

/path/to/storm-starter-*.jar应该在你的系统的实际路径所取代。 这里基本上<topology-name> & remote参数是提供给风暴的两个参数(这是可选的)。

如果你只运行(不带参数)

storm jar /path/to/storm-starter-*.jar storm.starter.RollingTopWords 

它将承担拓扑slidingWindowCounts的,你可以通过你选择的任何名称与任何有效的字符串替换<topology-name>改变这个名字。
最后一个参数remote告诉storm在群集中运行这个,如果你不提供这个参数,它将以本地模式运行它。

请记住,参数是特定于此特定拓扑的,并且对其他人无效。看看RollingTopWords topology你会看到它完全取决于开发人员配置你的代码接受外部参数或硬编码它。

+0

您是否指定了storm-starter的完整路径 - *。jar? – user2720864

+0

不,我没有尝试,而是我去的路径和执行风暴jar命令,现在它的工作。问题解决了。 – Toshihiko

相关问题