Java Apache Storm拓扑部署

Java Apache Storm拓扑部署,java,amazon-ec2,apache-storm,Java,Amazon Ec2,Apache Storm,我是Apache Storm的新手。我已经在intellij中用java创建了一个storm项目,它成功地创建了一个本地集群,并将拓扑提交给它并在本地运行。我想在amazon EC2上运行这个storm项目。我已经跟踪了链接。链接成功启动了2个Supervisor实例、1个Zookeeper实例和1个Nimbus实例。现在我想在服务器上运行拓扑。这是我在暴风雨中的第一个项目,请回答我的以下问题: 我是否需要启动另一个实例来运行storm项目 我是否必须为storm java项目创建一个jar并

我是Apache Storm的新手。我已经在intellij中用java创建了一个storm项目,它成功地创建了一个本地集群,并将拓扑提交给它并在本地运行。我想在amazon EC2上运行这个storm项目。我已经跟踪了链接。链接成功启动了2个Supervisor实例、1个Zookeeper实例和1个Nimbus实例。现在我想在服务器上运行拓扑。这是我在暴风雨中的第一个项目,请回答我的以下问题:

  • 我是否需要启动另一个实例来运行storm项目
  • 我是否必须为storm java项目创建一个jar并将其scp到 服务器运行它,正如他们在文档
    stormjar中提到的那样
    path/to/allmycode.jar org.me.MyTopology arg1 arg2 arg3

回答第二个问题。到目前为止,这就是我解决问题的方法。手动将jar映射到Amazon实例,并通过命令行客户端上传

在创建RESTAPI以这种方式上传时,似乎存在一个问题。不过,我不太清楚这个问题的现状


这里是另一个处理远程提交的方法,但我没有尝试使用这种技术。

是的,您需要创建一个
jar
文件,其中包含您的spouts/bolts类(如果您想通过
bin/storm jar
命令提交,则需要创建一个包含
main
方法的入口点类)


手动上载
jar
文件不是必需的。如果您从IDE或通过
bin/storm jar
命令提交,jar将自动上载。

首先,您必须以集群模式编译拓扑,然后将其交付给nimbus(无论如何,通过scp或其他方式,我使用了WinScp),然后使用命令bin/storm jar path/to/jar mainClass.java args运行它 所以 1) 第一个问题的答案。不,您必须在nimbus上运行拓扑,而不是在另一台机器上运行拓扑。
2) 第二个问题的答案。是的,您必须将您的jar交付给nimbus(不管如何),并按照说明(文档)中的说明运行它。

您的意思是,您必须启动另一个实例才能运行storm项目吗?又是什么?需要注意的是,storm deploy git项目上一次处于活动状态是在2013年12月,所以它可能会失去支持。