1

我试图弄清楚是否可以在一台机器上设置整个风暴项目以用于测试和模拟目的,所以这个问题主要针对那些尝试过这个的人。我知道使用 Hadoop(这是 Storm 的基础) 允许模拟集群的能力。我已经阅读了一些关于 Maven 以及如何使用它在本地运行 Storm,但不确定 Maven 是什么以及它如何真正工作。我希望这里有人可以帮助我。

4

1 回答 1

5

是的,这是可能的。你可以为 Storm 建立一个“单节点集群”来运行,它可以全部在一台机器上。这将模拟真实集群的样子,但您将有 1 台机器托管整个堆栈(ZooKeeper 和 Storm)。Nimbus 服务器本质上是您的工作服务器。配置它与在此处遵循本指南相同: https ://github.com/nathanmarz/storm/wiki/Setting-up-a-Storm-cluster 。基本上一切都将是您的本地主机机器。

Maven 是一个构建工具,用于从源代码构建软件(它也可以做其他事情,比如部署和发布它)。在这种情况下,我建议从 github 获取storm-starter 项目,并使用它来让你的脚被风暴弄湿。在获得启动项目后运行的 maven 命令将是这样的:

$ mvn -f m2.pom compile exec:java -Dexec.classpathScope=compile -Dexec.mainClass=com.some.package.name.YourMainTopologyClass

请注意,您也可以轻松地使用 lein 来启动它。

所以,总结一下:

  1. 是的,您可以建立 Storm 的“单节点集群”,并使用它来发送拓扑以运行。
  2. 是的,您可以使用 Maven 来执行 Storm 拓扑。请注意,storm-starter 确实是您应该使用的,以了解其工作原理。请注意,在某些示例中,他们构建和使用的拓扑最终会提交到LocalCluster. 这是拓扑开发和测试的理想选择,基本上为您模拟了一个进程中的风暴集群。
于 2013-02-14T01:47:42.970 回答