问题解决了。出现问题是因为风暴jar在不正确的目录中运行。它应该在/ home / user / storm / examples / storm-starter / target目录下运行,因为我的storm-starter-0.9.3-jar-with-dependencies.jar在该目录中。
试试这个,假设你在风暴根文件夹内,即在你的情况下( /home/user/storm/bin )
/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 params是暴风雨提供的两个参数(可选)。
/path/to/storm-starter-*.jar
<topology-name>
remote
如果你只是运行(没有参数)
storm jar /path/to/storm-starter-*.jar storm.starter.RollingTopWords
它将假定拓扑名称为 slidingWindowCounts 你可以通过替换你所选择的任何名称来改变它 <topology-name> 任何有效的字符串。 最后一个论点 remote 告诉storm在集群中运行它,如果你不提供这个参数,它将以本地模式运行它。
slidingWindowCounts
请记住,参数特定于此特定拓扑,对其他拓扑无效。看着 RollingTopWords拓扑 您将看到它完全取决于开发人员配置您的代码以接受外部参数或通过硬编码。