【发布时间】:2013-09-19 06:54:17
【问题描述】:
我已经在我的机器上配置了 Storm。 Zookeeper、Nimbus 和 Supervisor 运行正常。 现在我想向这场风暴提交一个拓扑。 我正在尝试使用风暴罐。 但我无法提交。 任何人都可以举一个例子。 这将非常有帮助。 在此先感谢:)
【问题讨论】:
标签: apache-storm
我已经在我的机器上配置了 Storm。 Zookeeper、Nimbus 和 Supervisor 运行正常。 现在我想向这场风暴提交一个拓扑。 我正在尝试使用风暴罐。 但我无法提交。 任何人都可以举一个例子。 这将非常有帮助。 在此先感谢:)
【问题讨论】:
标签: apache-storm
答案在official documentation,已经够清楚了。运行storm jar path/to/allmycode.jar org.me.MyTopology arg1 arg2 arg3(如果有的话,用你的项目名称和参数替换)。确保您使用的是 StormSubmitter 对象而不是 LocalCluster。
【讨论】:
storm.starter.ExclamationTopology 的类名不是你设置的,或者你的代码可能没有正确编译。再次,详细解释,你会得到帮助。
很遗憾,网上几乎所有的例子都显示了counter example这个词,并没有简单地提及所需的步骤:
您需要做的就是:
1. 导航到您的 Storm bin 文件夹:cd /Users/nav/programming/apache-storm-1.0.1/bin
2.启动nimbus./storm nimbus
3. 启动主管./storm supervisor
4.启动ui程序./storm ui
5. 确保使用 storm jar excluded 构建您的 jar 文件。
6. 确保您的 /Users/nav/programming/apache-storm-1.0.1/conf/storm.yaml file is valid(这应该是第 2 步)。
7. 确保在您的代码中,您使用StormSubmitter.submitTopology提交拓扑
8.再次导航到storm bin文件夹cd /Users/nav/programming/apache-storm-1.0.1/bin
9.提交你的jar文件到storm
./storm jar /Users/nav/myworkspace/StormTrial/build/libs/StormTrial.jar com.abc.stormtrial.StormTrial
上面的命令基本上就是这样的:stormExecutable jarOption pathToYourJarFile theClassContainingYourMainFile
如果您想将命令行参数传递给程序,请在末尾添加:stormExecutable jarOption pathToYourJarFile theClassContainingYourMainFile commandlineArguments
这里,com.abc.stormtrial 是完整的包名,.StormTrial 是包含 main 函数的类的名称。
现在打开您的浏览器并输入http://127.0.0.1:8080,您将看到您的拓扑通过 Storm 的 UI 运行。
【讨论】: