两种提交方式
首先,Storm有两种运行模式:本地模式和远程模式。在本地模式下,您可以在本地机器上完全在进程中开发和测试拓扑(topology)。在远程模式下,您提交拓扑以在机器集群上执行。所以提交拓扑的方式就是两种。
本地提交的方式,我们只需要直接运行程序就可以了,不需要运行Storm进程,主要是进行测试用,可以在本地机器上完全在进程中开发和测试拓扑。
而远程提交方式,需要运行storm jar命令去上传我们的jar包,提交拓扑以在机器集群上执行。
为什么Storm能在本地运行?
因为Storm 开发环境已安装所有内容,因此可以在本地模式下开发和测试 Storm 拓扑、打包拓扑以在远程集群上执行以及在远程集群上提交/终止拓扑。
让我们快速回顾一下本地机器和远程集群之间的关系。 Storm 集群由名为“Nimbus”的主节点管理。机器与 Nimbus 通信以提交代码(打包为 jar)和拓扑以在集群上执行,Nimbus 将负责在集群中分发该代码并分配工作人员来运行拓扑。机器使用名为 storm 的命令行客户端与 Nimbus 通信。 storm client 仅用于远程模式;它不用于在本地模式下开发和测试拓扑。