我已经在我的机器上配置了 Storm。Zookeeper、Nimbus 和 Supervisor 运行正常。现在我想向这场风暴提交一个拓扑。我正在尝试使用风暴罐。但我无法提交。任何人都可以举一个例子。这将非常有帮助。提前致谢:)
2 回答
答案在官方文档中,已经够清楚了。运行storm jar path/to/allmycode.jar org.me.MyTopology arg1 arg2 arg3
(如果有的话,用你的项目名称和参数替换)。确保您使用的是 StormSubmitter 对象而不是 LocalCluster。
不幸的是,网上几乎所有的例子都显示了counter example这个词,并没有简单地提及所需的步骤:
您需要做的就是:
1. 导航到您的storm bin 文件夹:
cd /Users/nav/programming/apache-storm-1.0.1/bin
2. 启动nimbus
./storm nimbus
3. 启动supervisor
./storm supervisor
4. 启动ui 程序
./storm ui
5. 确保构建您的jar 文件时排除了storm jar。
6. 确保您的/Users/nav/programming/apache-storm-1.0.1/conf/storm.yaml
文件有效(这应该是第 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 运行。